我有一个 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
时不会更新。我该如何管理以更新当前显示的片段?