Android常见问题
ViewPager2
- 如何解决动态增减Fragment的问题?
1 | class BaseVPAdapter(manager: FragmentManager, lifecycle: Lifecycle) : FragmentStateAdapter(manager, lifecycle) { |
ViewPager2 默认是懒加载的,因此Fragment只需在OnResume里请求数据即可。为避免频繁创建销毁Fragment,可设置offscreenPageLimit = categoryList.size,即一开始就创建Fragment。但不请求数据。
1 | binding.viewPager.offscreenPageLimit = categoryList.size |
ConcatAdapter
- concatAdapter使用时要将setIsolateViewTypes 设置为false,共用缓存
- 何时用false?子Adapter相同时,比如concatAdapter 有1、2、1三个子,此时需要设置为false
- true为不使用缓存,如果有相同的子Adapter (itemType相同)设置true会报错