我使用RecyclerView来显示项目列表。RecyclerView每次只显示一个项目。通过单击一个按钮,我想更改所有项目的ViewHolders,包括显示的项目。数据保持不变,只有列表项的布局改变。
我认为我需要清除缓存池,但它没有帮助。回收池中仍有视图
recyclerView.recycledViewPool.clear()
RecyclerView继续使用缓存的视图。此外,如何用显示项目的新ViewHolder重新创建视图?
add type in your model class
var viewType : ViewType
创建viewType
的enumViewType { VIEW_ONE, VIEW_TWO }
覆盖ItemViewType
功能在您的RecyclerViewAdapter
。为每个视图类型创建单独的布局文件,并在onCreateViewHolder
/RecyclerViewAdapter
中创建/膨胀。
按钮被按下时。更改模型类中的ViewType
并调用notifyDatasetChanged()