嘿伙计们我在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;
}
}
其他视图持有者是相同的。
答案 0 :(得分:2)
是的,我们可以使用多个cardView。有关参考,请参阅下面的示例适配器链接: - https://github.com/subbuboyapati/MovieMasti/blob/master/app/src/main/java/com/subbu/moviemasti/adapter/ReviewAdapter.java
这个答案也对你有帮助。 Can I Use Only One RecyclerView For The Three Different CardView With Different Design?
另请参阅本教程http://arjunu.com/2015/10/android-recyclerview-with-different-cardviews/。
答案 1 :(得分:1)
您可以在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;
.
.
.
}
}