问题描述
我使用arraylist中的数据创建初始内容(我从firebase中获取数据) 数据每15分钟更改一次,我怎么称呼娱乐,或者如何从主要活动中设置文本到片段/如何更新片段中的文本视图(请使用其中的任何一种方法)
我读过很多人用getItem解决此问题的方法,但请记住我有FragmentStateAdapter我没有那些方法viewPager2.getAdapter()。notifyDataSetChanged()什么都不做
Overridable Methods in FragmentStateAdapter
然后我想一个接口如何只更改textview中的文本,但是它总是会调用一个有关空指针的错误,因为我理解该片段正在“暂停”,而我却没有看到它,因为循环等等
调用viewPager2.setAdapter(new PagerAdapter()的重新创建是可行的,但仅当众神想要吗?而我想要使它强制或可靠的东西
(很抱歉,我现在不知道为什么我要使用Google建议的最新viewpager2和PagerAdapter FragmentStateAdapter)我应该尝试使用viewpager和所有这些旧工具吗?
解决方法
根据Doc,我们可以通过调用notifyDatasetChanged()来更新该片段,因此可以通过在Adapter中创建一个函数(setData)来实现,并且可以在其中调用notifyDatasetChanged()来工作。
fun addData(data: ArrayList<>) {
mData = data
notifyDataSetChanged()
}