如何使用一个 RecyclerView Adapter 使用多个布局?
How to use multiple layout using one RecyclerView Adapter?
大家好,我在 recyclerview 中实现了两张卡片,还创建了两个视图持有者,但没有获得适配器代码帮助我。
public class ViewHolder1 extends RecyclerView.ViewHolder {
private TextView Chatin;
public ViewHolder1(View v) {
super(v);
Chatin = (TextView) v.findViewById(R.id.Chatin);
}
public TextView getChatin() {
return Chatin;
}
public void setChatin(TextView chatin) {
this.Chatin = chatin;
}
}
其他viewholder同理
是的,我们可以使用多个 cardView。有关参考,请参阅下面的 link 示例适配器:-https://github.com/subbuboyapati/MovieMasti/blob/master/app/src/main/java/com/subbu/moviemasti/adapter/ReviewAdapter.java
这个答案对你也有帮助。
也看看这个教程,http://arjunu.com/2015/10/android-recyclerview-with-different-cardviews/。
您可以在 Recycler 视图中显示多张卡片。
1) 覆盖 getItemViewType() 方法
@Override
public int getItemViewType(int position) {
switch (position) {
case 0:
return VIEW_TYPE_ONE;
case 1:
return VIEW_TYPE_TWO;
.
.
.
case n:
return VIEW_TYPE_N;
default:
return DEFAULT_VIEW_TYPE;
}
}
2)在 onCreateViewHolder() 方法中检查 viewType
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
switch (viewType) {
case VIEW_TYPE_ONE:
// return card one.
.
.
.
}
}
3) 检查 onBindViewHolder() 中的视图类型和位置,并相应地为您的卡片设置数据。
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
switch (getItemViewType(position)) {
case VIEW_TYPE_ONE:
ViewTypeOneViewHolder holderObj= (ViewTypeOneViewHolder) holder;
//Your implementation for view type one.
break;
.
.
.
}
}
大家好,我在 recyclerview 中实现了两张卡片,还创建了两个视图持有者,但没有获得适配器代码帮助我。
public class ViewHolder1 extends RecyclerView.ViewHolder {
private TextView Chatin;
public ViewHolder1(View v) {
super(v);
Chatin = (TextView) v.findViewById(R.id.Chatin);
}
public TextView getChatin() {
return Chatin;
}
public void setChatin(TextView chatin) {
this.Chatin = chatin;
}
}
其他viewholder同理
是的,我们可以使用多个 cardView。有关参考,请参阅下面的 link 示例适配器:-https://github.com/subbuboyapati/MovieMasti/blob/master/app/src/main/java/com/subbu/moviemasti/adapter/ReviewAdapter.java
这个答案对你也有帮助。
也看看这个教程,http://arjunu.com/2015/10/android-recyclerview-with-different-cardviews/。
您可以在 Recycler 视图中显示多张卡片。
1) 覆盖 getItemViewType() 方法
@Override
public int getItemViewType(int position) {
switch (position) {
case 0:
return VIEW_TYPE_ONE;
case 1:
return VIEW_TYPE_TWO;
.
.
.
case n:
return VIEW_TYPE_N;
default:
return DEFAULT_VIEW_TYPE;
}
}
2)在 onCreateViewHolder() 方法中检查 viewType
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
switch (viewType) {
case VIEW_TYPE_ONE:
// return card one.
.
.
.
}
}
3) 检查 onBindViewHolder() 中的视图类型和位置,并相应地为您的卡片设置数据。
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
switch (getItemViewType(position)) {
case VIEW_TYPE_ONE:
ViewTypeOneViewHolder holderObj= (ViewTypeOneViewHolder) holder;
//Your implementation for view type one.
break;
.
.
.
}
}