【发布时间】:2020-07-12 13:01:43
【问题描述】:
我有一个 FragmentStateAdapter 作为 ViewPager2 的适配器。
class DefaultFragmentStateAdapter(fragment: Fragment) : FragmentStateAdapter(fragment) {
var items = listOf<Fragment>()
set(value) {
field = value
notifyDateSetChanged()
}
override fun getItemCount(): Int = items.size
override fun createFragment(position: Int): Fragment = items[position]
}
适配器项可以根据用户选择的日期而改变,因此它需要是动态的。
发生的情况是,在我调用adapter.items = {new_fragments} 后,当前片段没有重新加载,只有在我转到 ViewPager 中的最后一个页面并返回第一页后,我才能看到更新的片段。
调用notifyDataSetChanged 时,当前片段不会更新。
如何更新当前显示的片段?
【问题讨论】:
标签: android android-fragments android-viewpager2