我有RecyclerView
的适配器。适配器具有属性大小,可以是SMALL或LARGE。
根据属性的不同,为视图加载的布局会有所不同。
我有一个更改此属性的按钮,但是在我设置之后,如果我调用notifyDataSetChanged()
,则视图不会更新。
我也尝试了requestLayout
和invalidate
但没有成功。这是 onCreateViewHolder
永远不会再被调用。
答案 0 :(得分:0)
notifyDataSetChanged()调用onBindViewHolder()。它不会调用onCreateViewHolder。 您可以尝试使用setAdapter()来解决上述问题。
答案 1 :(得分:0)
一种方法是打电话
recyclerView.setAdapater(new YourCustomRecylcerViewAdapter(yourProperty, listToUpdate))
每当您更改属性时。这将调用适配器的 onCreateViewHolder()。
答案 2 :(得分:0)
嗯,我明白了,这是因为在onCreateViewHolder
之前调用了getItemViewType
。
如果未设置新视图,则不会调用它。所以我必须为每个小视图创建一个新的 viewType 并解决问题:)。