1

I am learning android development from bignerdranch, I am trying to implement pager adapter but getting error in Android Studio that newInstance method cannot be resolved. I am using support version Fragment library in every class to create Fragments.

public class CrimePagerActivity extends FragmentActivity {
private static final String EXTRA_CRIME_ID =
        "com.bignerdranch.android.criminalintent.crime_id";

private ViewPager mViewPager;
private List<Crime> mCrimes;

public static Intent newIntent(Context packageContext, UUID crimeId){
Intent intent = new Intent(packageContext,CrimePagerActivity.class);
intent.putExtra(EXTRA_CRIME_ID,crimeId);
return intent;}
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_crime_pager);

UUID crimeId = (UUID) getIntent()
.getSerializableExtra(EXTRA_CRIME_ID);

mViewPager = (ViewPager) findViewById(R.id.activity_crime_pager_view_pager);
    mCrimes = CrimeLab.get(this).getCrimes();
    FragmentManager fragmentManager = getSupportFragmentManager();
    mViewPager.setAdapter(new FragmentStatePagerAdapter(fragmentManager) {
        @Override
        public Fragment getItem(int position) {
            Crime crime  = mCrimes.get(position);public class CrimePagerActivity extends FragmentActivity {
private static final String EXTRA_CRIME_ID =
        "com.bignerdranch.android.criminalintent.crime_id";

private ViewPager mViewPager;
private List<Crime> mCrimes;

public static Intent newIntent(Context packageContext, UUID crimeId){
    Intent intent = new Intent(packageContext,CrimePagerActivity.class);
    intent.putExtra(EXTRA_CRIME_ID,crimeId);
    return intent;}
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_crime_pager);

    UUID crimeId = (UUID) getIntent()
            .getSerializableExtra(EXTRA_CRIME_ID);

    mViewPager = (ViewPager) findViewById(R.id.activity_crime_pager_view_pager);
    mCrimes = CrimeLab.get(this).getCrimes();
    FragmentManager fragmentManager = getSupportFragmentManager();
    mViewPager.setAdapter(new FragmentStatePagerAdapter(fragmentManager) {
    @Override
    public Fragment getItem(int position) {
    Crime crime  = mCrimes.get(position);
    return CrimeFragment.newInstance(crime.getId());
        }

@Override
public int getCount() {
return mCrimes.size();
        }
    });

}}
return CrimeFragment.newInstance(crime.getId());
        }
@Override
public int getCount() {
return mCrimes.size();
        }
    });

}}

1 Answers1

1

You can't pass an argument to newInstance it should be called like this

return CrimeFragment.newInstance();
Pika Supports Ukraine
  • 3,612
  • 10
  • 26
  • 42
Dan Miller
  • 67
  • 7