错误解决:java.lang.IllegalStateException: Can't change tag of fragment TransferFragment
java.lang.IllegalStateException: Can't change tag of fragment ClassScheduleFragment{cb121b3} (dc5f3953-b99d-4b64-aa85-44730a4e963c id=0x7f0a0503 tag=android:switcher:2131363075:0): was android:switcher:2131363075:0 now android:switcher:2131363075:1
at androidx.fragment.app.FragmentTransaction.doAddOp(FragmentTransaction.java:256)
at androidx.fragment.app.BackStackRecord.doAddOp(BackStackRecord.java:183)
at androidx.fragment.app.FragmentTransaction.add(FragmentTransaction.java:234)
at androidx.fragment.app.FragmentPagerAdapter.instantiateItem(FragmentPagerAdapter.java:176)
场景
原因分析:list add的是同一个fragment对象,所以导致pageadapter抛出无法识别切换fragment
解决:实例化多个不同的对象即可
viewPager = findViewById(R.id.viewpager);
TransferFragment transferFragment = new TransferFragment();
TransferFragment transferFragment1 = new TransferFragment();
TransferFragment transferFragment2 = new TransferFragment();
final List<Fragment> fragments = new ArrayList<>();
fragments.add(transferFragment);
fragments.add(transferFragment1);
fragments.add(transferFragment2);
评论区