gpt4 book ai didi

android - FragmentStatePagerAdapter IllegalStateException : is not currently in the FragmentManager

转载 作者:IT老高 更新时间:2023-10-28 21:58:56 26 4
gpt4 key购买 nike

在 onResume() 的某些情况下,我在使用 FragmentStatePagerAdapter 的 Activity 中得到了这个。使用设备的后退按钮时。不总是。不可重现。

我正在使用支持包 v4,最新版本 (8)。

已经用谷歌搜索过,没有找到有用的答案。

查看源码,这里抛出的是:FragmentManager.java

@Override
public void putFragment(Bundle bundle, String key, Fragment fragment) {
if (fragment.mIndex < 0) {
throw new IllegalStateException("Fragment " + fragment
+ " is not currently in the FragmentManager");
}
bundle.putInt(key, fragment.mIndex);
}

但是为什么fragment的索引<0在那里呢?

实例化 fragment 的代码:

@Override
public Fragment getItem(int position) {
Fragment fragment = null;

switch(position) {
case 0:
fragment = MyFragment.newInstance(param1);
break;
case 1:
fragment = MyFragment2.newInstance(param2, param3);
break;
}
return fragment;
}

@Override
public int getCount() {
return 2;
}

最佳答案

如果您的 ViewPager 布局在 fragment 内(不是 Activity ):

mViewPager.setAdapter(new MyFragmentStatePagerAdapter(getChildFragmentManager()));

关于android - FragmentStatePagerAdapter IllegalStateException : <MyFragment> is not currently in the FragmentManager,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11296411/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com