RecyclerView不会更新其项目的布局

时间:2019-08-13 13:45:50

标签: java android kotlin android-recyclerview android-viewpager

我有一个RecyclerView,其中包含TextViews作为项目。当我单击一个项目时,它将选择他,并且通常会更改TextView的布局。

但是,除非我滚动RecyclerView,否则TextView的布局不会更新。在后面选择了该项目,但是在前面,我必须滚动RecyclerView才能看到更改。

有关信息,我的RecyclerView在Fragment中,而在ViewPager2中。

我使用notifyItemChanged(),并尝试使用notifyDataSetChanged()。我还尝试过在RecyclerView和Parent的布局上使用requestLayout()invalidate()

编辑2:

我找到了问题的根源,请查看此post进行检查。

谢谢大家的帮助

1 个答案:

答案 0 :(得分:1)

对不起,我英语不好!它可以在Android5.1或Android6.0上运行,还是有同样的问题。最后我找到了解决方法

1。在RECyleView所在的片段中添加一个ListView(您可以将高度或宽度设置为零以使其不可见)

2。将适配器设置为ListView

然后,此片段中的RecyclerView可以正确地通知DataSetChanged(),即使同一ViewPager2的其他片段中的RecyclerView也可以正常工作,我不知道它是如何工作的,但是它对我有用,希望它对您也有用