我正在使用recycleview显示一个列表。我想知道如何显示不同类型的视图?与中一样,同一适配器中的不同ViewHolders
在我们使用getItemViewType()的简单列表视图中,recycleview有什么不同吗?
发布于 2014-11-20 22:06:49
要创建具有多种视图类型的RecyclerView
,只需实现getItemViewType()
,两个不同的ViewHolder
,并处理onCreateViewHolder()
和bindViewHolder()
中的viewType
参数。
简短的示例:
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;
...
}
}
}
发布于 2017-11-04 06:34:19
编译'com.firebaseui:firebase-ui-database:1.0.1‘编译'com.firebaseui:firebase-ui-storage:1.0.1’将其放入gradle
https://stackoverflow.com/questions/27041178
复制相似问题