目 录CONTENT

文章目录

Android错误总结:java.lang.IllegalStateException: Can't change tag of fragment TransferFragment

小王同学
2024-03-27 / 0 评论 / 0 点赞 / 81 阅读 / 0 字

错误解决: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);
0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区