我有一个 RecyclerView,其中包含 TextView 作为项目。当我点击一个项目时,它会选择他,并且通常会更改 TextView 的布局。
但是,除非我滚动 RecyclerView,否则 TextView 的布局不会更新。在后面,项目被选中,但在前面,我必须滚动 RecyclerView 才能看到变化。
有关信息,我的 RecyclerView 位于 ViewPager2 中的 fragment 中。
我使用 notifyItemChanged()
并尝试使用 notifyDataSetChanged()
。我还在 RecyclerView 和 Parent 的布局上尝试了 requestLayout()
和 invalidate()
。
编辑 2:
我找到了问题的根源,请参阅此 post退房。
最佳答案
抱歉我的英语不好! Android5.1 or Android6.0 能用吗,我也遇到了同样的问题,终于找到解决方法了
<强>1。在 RecyleView 所在的 Fragment 中添加一个 ListView(你可以将高度或宽度设置为零使其不可见)
<强>2。为 ListView 设置适配器
那么这个fragment中的RecyclerView就可以正确的notifyDataSetChanged(),即使是同一个ViewPager2的其他fragment中的RecyclerView也可以正常工作,我不知道它是如何工作的,但它对我有用,希望它对你也有用
关于java - RecyclerView 不更新他的项目的布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57479136/