android - 无法解析 newInstance

标签 android android-viewpager fragmentstatepageradapter

我正在从 bignerdranch 学习 android 开发,我正在尝试实现寻呼机适配器,但在 Android Studio 中出现无法解析 newInstance 方法的错误。我在每个类中使用支持版本的 fragment 库来创建 fragment 。

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();
        }
    });

}}

最佳答案

您不能将参数传递给 newInstance 它应该这样调用

return CrimeFragment.newInstance();

关于android - 无法解析 newInstance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40309154/

相关文章:

android - 使用新内容 : 刷新 ViewPager 的奇怪问题

android - notifyDataSetChanged() 强制在 FragmentStatePagerAdapter 中向上滚动

android - Firebase Crashlytics 没有为发布 apk 上传崩溃

Android ListView Item - 从右到左动画菜单

android - 在 android 嵌入式中构建 v8 时出错

android - 选项卡之间的间距 TabPageIndicator

android - onActivityResult 在 setResult 之后没有被调用

java - 如何在 FragmentStatePagerAdapter 中循环(从最后一个 fragment 到第一个 fragment )

android-layout - 滚动时 View 寻呼机中的相机 SurfaceView 闪烁

java - 如何在 Android 中键入编辑文本框的操作?