gpt4 book ai didi

Android:可见 viewpager 选项卡包含上一个选项卡的 arraylist 数据

转载 作者:行者123 更新时间:2023-11-29 01:21:37 26 4
gpt4 key购买 nike

我的应用程序中有一个带有两个选项卡的 View 寻呼机(A 和 B)。第一个选项卡即 A 有一个 ListView 。单击列表中的任何项目都会打开一个带有另一个列表的新 fragment (我们称之为 C)。选项卡 B 也有一个 ListView 。

选项卡 B 中的列表和 fragment C 中包含的列表具有相同类型的项目。也就是说,两个列表中的每一项都属于同一类。我使用带有自定义适配器的回收器 View 来创建列表。由于选项卡 B 和 fragment c 中的两个列表都属于相同的对象类型,因此我为此使用了相同的适配器,即 (CarListAdapter.class)。

我面临的问题是,当我打开 fragment C 然后返回选项卡 A 然后向右滑动以使选项卡 B 可见时,单击选项卡 B 中的项目会导致空指针异常,原因是列表中的 fragment CarListFragment.class 仍然有来自 fragment C 而不是选项卡 B 的数据。(但是列表正确呈现,只是点击不正常)

因为存在这个适配器的两个实例,所以我希望它能正常工作。但是,如果我使用两个具有完全相同代码(如 CarListAdapterC.class 和 CarListAdapterB.class)的不同适配器,则代码可以正常工作。

我卡住了,有人能解释一下为什么会这样吗?

最佳答案

我在使用 view pager 和 recycler view 时遇到了同样的问题。我搜索了 allot,据我所知这是recycler view adaptr 中的一个问题。

如您所知,view pager 默认情况下每次显示一个页面时都会再加载一个下一页。这就是适配器显示问题的地方。您创建的同一适配器的不同实例指向到同一个地方。因此它还有其他页面项目。

我知道这不是一个好主意,但我已经创建了另一个与第一个适配器相同但名称不同的适配器并将其用于下一个列表并且它有效。尝试分离列表的适配器。让我知道它是否有效。

关于Android:可见 viewpager 选项卡包含上一个选项卡的 arraylist 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36501809/

26 4 0