Android-RecyclerView notifyDatasetChanged未更新布局视图
我有一个用于Android-RecyclerView notifyDatasetChanged未更新布局视图,android,android-recyclerview,notifydatasetchanged,recyclerview-layout,Android,Android Recyclerview,Notifydatasetchanged,Recyclerview Layout,我有一个用于RecyclerView的适配器。适配器有一个属性大小,可以是小的,也可以是大的 根据属性的不同,为ViewHolder加载的布局会有所不同 我有一个按钮来更改这个属性,但是在我设置它之后,如果我调用notifyDataSetChanged()视图将不会更新 我还尝试了requestLayout和invalidate,但没有成功。这就是,onCreateViewHolder将不再调用。使用RecyclerView时,notifyDataSetChanged()调用onBindView
RecyclerView
的适配器。适配器有一个属性大小,可以是小的,也可以是大的
根据属性的不同,为ViewHolder加载的布局会有所不同
我有一个按钮来更改这个属性,但是在我设置它之后,如果我调用notifyDataSetChanged()
视图将不会更新
我还尝试了requestLayout
和invalidate
,但没有成功。这就是,onCreateViewHolder
将不再调用。使用RecyclerView时,notifyDataSetChanged()调用onBindViewHolder()。它不会调用onCreateViewHolder。
您可以尝试使用setAdapter()解决上述问题。一种方法是调用
recyclerView.setAdapater(new YourCustomRecylcerViewAdapter(yourProperty, listToUpdate))
无论何时更改属性。这将调用适配器的onCreateViewHolder()。我得到了它,因为在
onCreateViewHolder
之前,getItemViewType
被调用
如果未设置新视图,则不会调用它。因此,我必须为每个小视图创建一个新的视图类型,并解决问题:)。请发布代码。@htafoya请共享您的代码,以便我们可以帮助您。如果要更新特定记录,请使用notifyitemchanged()而不是notifyDataSetChanged()。