flutter_boost icon indicating copy to clipboard operation
flutter_boost copied to clipboard

viewPager+FlutterFragment出现的崩溃问题

Open zhangbangbang888 opened this issue 4 years ago • 6 comments

viewPager+FlutterFragment的时候ViewPager的adapter里有fragment.setUserVisibleHint(false);控制fragment显示隐藏 这时候flutterFragment里的断言判断就直接崩溃了...求给个解决方法 image

zhangbangbang888 avatar Dec 09 '21 09:12 zhangbangbang888

@zhangbangbang888 麻烦提供一个可复现的最小demo,谢谢。

0xZOne avatar Dec 22 '21 01:12 0xZOne

遇到了同样的问题,场景是主页面ViewPager里面有3个Fragment A,B,C;其中A,C是原生Fragment,B是继承FlutterBoostFragment;ViewPager的Adapter使用的PagerAdapter的子类FragmentStatePagerAdapter;现象和上面描述的一样出现崩溃,具体导致崩溃原因是:打开主页面的时候FragmentStatePagerAdapter重写的instantiateItem()方法里面会调用setUserVisibleHint()这个方法;紧接着会调用FlutterBoostFragment中的setUserVisibleHint()方法,这个方法里面Assert.assertNotNull(flutterView);会由于flutterView为空抛出异常导致报错

zhlofworks avatar Dec 27 '21 06:12 zhlofworks

image

zhlofworks avatar Dec 27 '21 06:12 zhlofworks

虽然不知道为什么flutterView为空,但是有两种临时解决办法,都是为了避免掉用setUserVisibleHint()方法: 1.把FragmentStatePagerAdapter替换成 androidx.viewpager2.adapter.FragmentStateAdapter 2.如果无法更换新的Adapter,可以在创建FragmentStatePagerAdapter时候指定behavior为BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT

zhlofworks avatar Dec 27 '21 06:12 zhlofworks

@0xZOne 遇到了类似问题,flutterboost 4.0.1

hoooou avatar Aug 16 '22 09:08 hoooou

boost的example可以复现吗?或者能提供复现demo吗?谢谢 🙏

@hoooou @zhangbangbang888

0xZOne avatar Aug 16 '22 09:08 0xZOne