【发布时间】:2016-04-08 14:10:03
【问题描述】:
我的应用中有一个带有两个选项卡(A 和 B)的视图寻呼机。第一个选项卡,即 A 有一个列表视图。单击列表中的任何项目都会打开一个带有另一个列表的新片段(我们称之为 C)。选项卡 B 也有一个列表视图。
标签B中的列表和片段C中包含的列表具有相同类型的项目。也就是说,两个列表的每个项目都属于同一类。我使用了带有自定义适配器的回收器视图来创建列表。由于选项卡 B 和片段 c 中的两个列表都属于相同的对象类型,因此我为此使用了相同的适配器,即 (CarListAdapter.class)。
我面临的问题是,当我打开片段 C 然后返回选项卡 A 然后向右滑动以使选项卡 B 可见时,单击选项卡 B 中的项目会导致空指针异常,原因是列表片段 CarListFragment.class 仍然有来自片段 C 而不是选项卡 B 的数据。(但是列表正确呈现,只是单击无法正常工作)
由于存在此适配器的两个实例,因此我希望它可以正常工作。但是,如果我使用两个具有完全相同代码的不同适配器,例如(CarListAdapterC.class 和 CarListAdapterB.class),则代码可以正常工作。
我被卡住了,谁能解释一下为什么会这样?
【问题讨论】:
标签: android android-fragments android-viewpager