向ViewPager动态添加时报错java.lang.IllegalStateException

    向ViewPager动态添加时报错:java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first

    在网上发现也有人遇到过这个问题,并且找到了解决方案,只需要在ViewPager的适配器中添加注释下面那段代码即可。

@Override
public Object instantiateItem(ViewGroup container, int position) {
    ImageView imageView = imageViewList.get(position % imageViewList.size());
        
    //向ViewPager中动态添加时,需用以下防止报错
    ViewGroup parent = (ViewGroup) imageView.getParent();
    if (parent != null) {
        parent.removeAllViews();
    }

    container.addView(imageView);
    return imageView;
}
发生crash的原因,通俗易懂的方式 03-24 02:03:30.588411 1442 1442 I emdlogger: mtk-brm-commit-id:04ab5bd912477cf2320dee54df9ac8b535476f2d 03-24 02:03:30.588544 1442 1442 I emdlogger: mtk-brm-change-id:Ib405363e450403587f3a66bbe5b353966c086aba 03-24 02:03:30.588549 1442 1442 I emdlogger: mtk-brm-merge-id:none 03-24 02:03:31.227364 1380 1380 I libimsma_adapt: mtk-brm-commit-id:8783a29bae0ae84a456239f3212f27bdafa94c91 03-24 02:03:31.227383 1380 1380 I libimsma_adapt: mtk-brm-change-id:Iee598bb542f5de895a4b71649fbc79b2d93bc3de 03-24 02:03:31.227386 1380 1380 I libimsma_adapt: mtk-brm-merge-id:none 03-26 09:44:41.575243 32732 32732 E AndroidRuntime: FATAL EXCEPTION: main 03-26 09:44:41.575243 32732 32732 E AndroidRuntime: Process: com.ss.android.article.news, PID: 32732 03-26 09:44:41.575243 32732 32732 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.Class java.lang.Object.getClass()' on a null object reference 03-26 09:44:41.575243 32732 32732 E AndroidRuntime: at androidx.fragment.app.FragmentTransaction.doAddOp(SourceFile:67502080) 03-26 09:44:41.575243 32732 32732 E AndroidRuntime: at androidx.fragment.app.BackStackRecord.doAddOp(SourceFile:67174400) 03-26 09:44:41.575243 32732 32732 E AndroidRuntime: at androidx.fragment.app.FragmentTransaction.add(SourceFile:50462721) 03-26 09:44:41.575243 32732 32732 E AndroidRuntime: at com.bytedance.mediachooser.utils.FragmentPagerAdapter.instantiateItem(SourceFile:33816623) 03-26 09:44:41.575243 32732 32732 E AndroidRuntime: at com.ss.android.article.base.feature.main.CateAdapter.instantiateItem(SourceFile:33816576) 03-26 09:44:41.575243 32732 32732 E AndroidRuntime: at androidx.viewpager.widget.ViewPager.addNewItem(SourceFile:33816585) 03-26 09:44:41.575243 32732 32732 E AndroidRuntime: at androidx.viewpager.widget.ViewPager.populate(SourceFile:17301881) 03-26 09:44:41.575243 32732 32732 E AndroidRuntime: at androidx.viewpager.widget.ViewPager.populate(SourceFile:655
最新发布
04-01
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值