如何在Tablayout中更新片段? (Viewpager2,FragmentStateAdapter)

时间:2020-09-25 21:26:26

标签: android android-fragments android-tablayout android-viewpager2 fragmentstateadapter

我使用arraylist中的数据创建初始内容(我从firebase中获取数据) 数据每15分钟更改一次,我怎么称呼娱乐,或者如何从主要活动中设置文本到片段/如何更新片段中的文本视图(请使用其中的任何一种方法)

我读过很多人用getItem解决此问题的方法,但请记住我有FragmentStateAdapter我没有那些方法viewPager2.getAdapter()。notifyDataSetChanged()什么都不做

Overridable Methods in FragmentStateAdapter

然后我想一个接口如何只更改textview中的文本,但是它总是会调用一个有关空指针的错误,因为我理解该片段正在“暂停”,而我却没有看到它,因为循环等等

调用viewPager2.setAdapter(new PagerAdapter()的重新创建是可行的,但仅当众神想要吗?而我想要使它强制或可靠的东西

(很抱歉,我现在不知道为什么我要使用Google建议的最新viewpager2和PagerAdapter FragmentStateAdapter)我应该尝试使用viewpager和所有这些旧工具吗?

1 个答案:

答案 0 :(得分:0)

根据Doc,我们可以通过调用notifyDatasetChanged()来更新该片段,因此可以通过在Adapter中创建一个函数(setData)来实现,并且可以在其中调用notifyDatasetChanged()来工作。

 fun addData(data: ArrayList<>) {
    mData = data
    notifyDataSetChanged()
    } 
相关问题