Art*_*hur 17 android android-recyclerview
我正在使用recycleview来显示列表.我想知道我们如何展示不同类型的观点?如同,不同的ViewHolders int在同一个适配器中
在简单的listview中我们使用了getItemViewType(),在recycleview中有什么不同之处?
era*_*tin 38
要创建RecyclerView多视图类型只需实现getItemViewType(),两个不同的ViewHolders并viewType在onCreateViewHolder()和中处理参数bindViewHolder().
简短的例子:
public class MultipleViewTypesAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
private static final int VIEW_TYPE_FIRST = 0;
private static final int VIEW_TYPE_SECOND = 1;
class ViewHolderFirst extends RecyclerView.ViewHolder {
...
}
class ViewHolderSecond extends RecyclerView.ViewHolder {
...
}
@Override
int getItemViewType(int position) {
return position % 2;
}
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
switch (viewType) {
case VIEW_TYPE_FIRST: return new ViewHolderFirst(...);
case VIEW_TYPE_SECOND: return new ViewHolderSecond(...);
...
}
}
@Override
public void bindViewHolder(RecyclerView.ViewHolder holder, int position) {
switch (getItemViewType(position)) {
case VIEW_TYPE_FIRST:
ViewHolderFirst viewHolderFirst = (ViewHolderFirst)holder;
...
break;
case VIEW_TYPE_SECOND:
ViewHolderSecond viewHolderSecond = (ViewHolderSecond)holder;
...
break;
...
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10924 次 |
| 最近记录: |