Ama*_*yJB 23 android android-adapter notifydatasetchanged android-recyclerview
我想使用切换来在两个不同的视图之间切换,但使用相同的视图RecyclerView
.基本上,一旦你切换,我想要RecyclerView
适配器调用,onCreateViewHolder()
但这次它将使用不同的布局项目文件.
是否notifydatasetchanged()
导致适配器重建?或者还有另一种方式吗?
mar*_*mor 25
我需要View
在我的上面有两种类型RecyclerView
Adapter
,一种用于"常规"模式,一种用于多选模式.
因此,您可以覆盖getItemViewType
以强制适配器调用您onCreateViewHolder
的所有视图.
将其添加到Adapter
代码中:
public void setActionMode(ActionMode actionMode) {
this.actionMode = actionMode;
notifyDataSetChanged();
}
@Override
public int getItemViewType(int position) {
return (actionMode == null ? 0 : 1);
}
Run Code Online (Sandbox Code Playgroud)
将此添加到ViewHolder
:
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view;
if (viewType == 0) {
view = inflater.inflate(R.layout.layout_1, parent, false);
} else {
view = inflater.inflate(R.layout.layout_2, parent, false);
}
...
}
Run Code Online (Sandbox Code Playgroud)
由于在a中返回不同ViewType
的内容ActionMode
,因此适配器被强制丢弃所有创建的视图,并再次重新创建所有内容.
归档时间: |
|
查看次数: |
15689 次 |
最近记录: |