我创建了一个片段类Fragment1,当尝试从主活动中调用它时,它会显示如下错误
Fragment1 don= new Fragment1();
@Override
public Fragment getItem(int position) {
return don;
}
但是当我这样做时它完美无缺
@Override
public Fragment getItem(int position) {
return (new Fragment1());
}
有人可以向我解释为什么会发生这种情况吗?
显示此错误消息
06-28 20:50:41.111: E/AndroidRuntime(1282): FATAL EXCEPTION: main
06-28 20:50:41.111: E/AndroidRuntime(1282): Process: com.abdelhadi.dontcha, PID: 1282
06-28 20:50:41.111: E/AndroidRuntime(1282): java.lang.IllegalStateException: Can't change tag of fragment EditorChoice{b4db6930 id=0x7f05003c android:switcher:2131034172:0}: was android:switcher:2131034172:0 now android:switcher:2131034172:1
06-28 20:50:41.111: E/AndroidRuntime(1282): at android.support.v4.app.BackStackRecord.doAddOp(BackStackRecord.java:398)
06-28 20:50:41.111: E/AndroidRuntime(1282): at android.support.v4.app.BackStackRecord.add(BackStackRecord.java:389)
06-28 20:50:41.111: E/AndroidRuntime(1282): at android.support.v4.app.FragmentPagerAdapter.instantiateItem(FragmentPagerAdapter.java:99)
答案 0 :(得分:0)
我会说你的片段适配器getsize()返回一个大于1的数字,这样你就会为所有不可能的片段返回相同的实例。