致命异常:主java.lang.RuntimeException:被问及一个未知的片段

时间:2014-12-17 10:51:15

标签: java android android-fragments android-viewpager

我有一个视图寻呼机和3个片段。 我的应用程序适用于其中2个,但当我添加第三个片段时,它返回此错误:

12-17 14:11:30.969: ERROR/AndroidRuntime(7350): FATAL EXCEPTION: main
        java.lang.RuntimeException: got asked about an unknown fragment

我的代码的一部分是这样的:

if (position == 0) {
      if (mContactList == null)
          mContactList = new ContactListFragment();
                return mContactList;
} else if (position == 1) {
      if (mContact == null)
          mContact= new ContactFragment(); // my third fragment  
          return mContact ;
} else {
      int positionMod = position - 2;
      mCursor.moveToPosition(positionMod);
      long contactChatId = mCursor.getLong(ChatView.CONTACT_ID_COLUMN);
      String contactName = mCursor.getString(ChatView.USERNAME_COLUMN);
      long providerId = mCursor.getLong(ChatView.PROVIDER_COLUMN);
      return ChatViewFragment.newInstance(contactChatId, contactName, providerId);
}

1 个答案:

答案 0 :(得分:0)

我认为您正在尝试从当前片段中引用其他片段。 尝试将setOffscreenPageLimit设置为2.如文档中所述:

  

将处于空闲状态的视图层次结构中当前页面任一侧应保留的页数设置为空闲状态。超出此限制的页面将在需要时从适配器重新创建。

使用此代码:

ViewPager mViewPager = (ViewPager) findViewById(R.id.historypager);
mViewPager.setOffscreenPageLimit(2);