问题标签 [fragmentstateadapter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
538 浏览

android - Android ViewPager2 片段销毁行为不符合 offscreenPageLimit

我正在使用ViewPager2withFragmentStateAdapter并且设置offscreenPageLimit1. 每个都包含一个要绘制Fragment的表面(通过 a 获得)。TextureView

代码相当简单:

布局如下:

activity_main.xml

item_fragment.xml

屏幕外片段按预期创建。但是,破坏行为不是我所期望的。你可以看到 fragment0 直到我滚动到 fragment4 才被销毁。但是当我滚动到 fragment2 时,fragment0 上的表面被破坏了。

这很烦人,因为片段及其表面不会同时被破坏。有人知道这里出了什么问题吗?

0 投票
3 回答
4373 浏览

android - NotifyDataSetChanged 在带有 Viewpager2 的 FragmentStateAdapter 中不起作用

我正在使用带有 FragmentStateAdapter 的 viewpager2 创建一个文件选择页面。在其中一个页面中,我显示了所有已安装的存储设备,我想在这些设备上点击以查看内容,但我希望内容位于另一个片段上。

我想在 viewpager 的最后一页中用另一个片段替换片段。但是使用下面的代码,页面只是刷新并且没有创建新的片段,因为createFragment没有被调用。

我的寻呼机适配器

这是我想替换为另一个 Fragment 的 Fragment 的构造函数:

在点击视图时,应该调用以下代码:-

我已经搜索了整个 stackoverflow,但从来没有看到 viewpager 2 和 FragmentStateAdapter 的正确答案,因为每个人似乎都在使用 Viewpager

我试图实现这个:- ViewPager2 notifyItemChanged 的​​ FragmentStateAdapter 没有按预期工作

但无法理解如何编辑我的代码。请帮助提前谢谢

0 投票
1 回答
105 浏览

android - 如何知道 FragmentStateAdapter 的主要片段项

我有一个视图寻呼机类型FragmentStateAdapter,想知道主要片段何时就位,例如 100% 可见。FragmentStateAdapter甚至支持这个吗?我已经尝试过这篇文章的方法,但没有运气。

寻呼机中的每个片段都对宿主活动有一定的控制权,但该控制权必须是互斥的。因此,例如取决于哪个片段 100% 可见,主机活动布局中的按钮将改变颜色。但是颜色必须取决于哪个片段是主要的,而不是取决于哪个片段被恢复(例如,不可见的相邻片段可以处于恢复状态)。

我正在使用ViewPager2和小部件类。

编辑

也许另一种方法是使用全局布局更改侦听器来测试片段的根布局是否 100% 显示?

0 投票
1 回答
481 浏览

android - 错误:无法使用 viewpager2 中 FragmentStateAdapter 中提供的参数调用以下函数

查看我的代码

我在片段中使用 viewpager 2 来保存子片段。可以有“n”个子片段。它在适配器中显示 lint 错误。

//查看我的片段代码

// 我的适配器代码

lint 错误位于适配器类的以下行中

0 投票
2 回答
1745 浏览

java - 如何使用 viewpager2 和 fragmentstateadapter 动态添加和删除片段?

所以几个月来我一直在尝试从我的应用程序中动态添加和删除片段。我最近迁移到 viewpager2 和 fragmentstateadapter 但无济于事。我的目标是完全删除特定位置的片段,但能够在没有以前数据的情况下将新片段添加到列表末尾。但是,当我这样做时,应用程序会复制片段。这是我的适配器代码:

谢谢。

0 投票
1 回答
478 浏览

android - 带有 FragmentStateAdapter 嵌套滚动问题的 ViewPager2

我已经使用 和 Fragments 设置了我的活动ViewPager2布局BottomNavigationView。在我的第一个片段中ViewPager2包含一个ImageSlider.

当我滚动 ImageSlider 时,整个片段(在 中ViewPager2)滚动到第二个片段。为什么会这样?

然后我改为 NormalViewPager而不是ViewPager2FragmentPagerAdapter而不是FragmentStateAdapter,它完美地工作,不幸FragmentPagerAdapter的是被弃用了。?

布局

活动

ViewPagerAdapter

0 投票
1 回答
878 浏览

android - 如何更新 Tablayout 中的片段?(Viewpager2, FragmentStateAdapter)

我使用来自 arraylist 的数据创建初始内容(我从 firebase 获取)数据每 15 分钟更改一次,我如何调用娱乐或如何将文本从 mainactivity 设置为片段/如何更新文本视图碎片(其中任何一个都可以)

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

FragmentStateAdapter 中的可重写方法

然后我认为一个界面只是为了更改我的文本视图中的文本,但它总是调用一个关于空指针的错误,因为我知道片段正在“暂停”,而我没有看到它,因为循环等等所以

调用 viewPager2.setAdapter(new PagerAdapter() 的娱乐,但只有在上帝想要的时候才有效?我想要一些东西来强制它或可靠

(老实说,我不再知道为什么要按照 Google 的建议使用最新的 viewpager2 和 PagerAdapter FragmentStateAdapter)我应该尝试使用 viewpager 和所有那些旧工具吗?

0 投票
1 回答
1245 浏览

android - 调用 notifyDataSetChanged 时 FragmentStateAdapter 未调用 createFragment

我正在使用 aViewPager2和 a FragmentStateAdapter

不幸notifyDataSetChanged()的是,调用适配器根本没有效果(调用notifyItemChanged(position)工作正常)。

我该如何解决这个问题?

0 投票
0 回答
153 浏览

java - 带有 ViewPager2 的 FragmentStateAdapter 显示不正确的片段

我的应用程序有一个活动,它使用RecyclerView. 选择列表项目时,将与该列表项目关联的模型对象的UUID作为另一个活动的意图发送,该活动ViewPager2在其布局中具有适配器。

我使用FragmentStateAdapter该类创建了一个适配器并将适配器附加到ViewPager2小部件。出于某种原因,即使将正确的 UUID 发送到ViewPager2Activity 并且在方法中使用了正确的项目位置,我也会显示错误的片段FragmentStateAdapter#createFragment

正确的 UUID 也会发送到创建的片段,并且在创建的片段的小部件上设置正确的模型数据。

我使用一个名为 CrimeLab 的单例来存储犯罪对象的列表以及通过其 UUID 返回模型对象并返回存储的犯罪对象列表的方法。下面是包含ViewPager2小部件并实现FragmentStateAdapter.

0 投票
0 回答
104 浏览

kotlin - 如何在viewpager2中的FragmentStateAdapter中通知ItemRemove片段

我想从 viewpager2 适配器中删除项目,但是当通知适配器(FragmentStateAdapter)活动崩溃并给出以下错误时:

HomeFragment.kx:

CategoryPagerAdapter.kx

}

是使用删除功能和删除索引(i)是34:

我不知道修复此错误! 你知道我该如何解决这个错误吗????