gpt4 book ai didi

java - 在 RecyclerView 中使用多个 View 和数据集

转载 作者:太空宇宙 更新时间:2023-11-03 13:54:05 26 4
gpt4 key购买 nike

我有以下适配器,它使用包含一个 TextView 的 CardView 项目填充 RecyclerView。它使用 String 数组中的数据填充这些 TextView。但是,现在我想向我的 CardViews 添加另一个 TextView 并用单独的数据数组填充它,我想知道如何才能最好地实现这一目标:

public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerAdapter.ViewHolder> {
private String[] mDataset;

public static class ViewHolder extends RecyclerView.ViewHolder {

public TextView mTextView;
public ViewHolder(View itemView) {
super(itemView);
mTextView = (TextView)itemView.findViewById(R.id.grade);
}
}

public RecyclerAdapter(String[] myDataset) {
mDataset = myDataset;
}

@Override
public RecyclerAdapter.ViewHolder onCreateViewHolder(ViewGroup parent,
int viewType) {

View v = LayoutInflater.from(parent.getContext())
.inflate(R.layout.card_item, parent, false);

ViewHolder vh = new ViewHolder(v);

return vh;
}

@Override
public void onBindViewHolder(ViewHolder holder, int position) {

holder.mTextView.setText(mDataset[position]);

}

@Override
public int getItemCount() {
return mDataset.length;
}
}

一如既往地感谢所有帮助!

最佳答案

只需在您的 CardLayout XML R.layout.card_item 中添加另一个 TextView 或任何其他 View

然后

public TextView mTextView;
public TextView mTextView1;
public TextView mTextView2;
public TextView mTextView3;

public ViewHolder(View itemView) {
super(itemView);
mTextView = (TextView)itemView.findViewById(R.id.grade);
mTextView1 = (TextView)itemView.findViewById(R.id.grade1);
mTextView2 = (TextView)itemView.findViewById(R.id.grade2);
mTextView3 = (TextView)itemView.findViewById(R.id.grade3);
}

最后将数据设置为所有所需的 TextView

    @Override
public void onBindViewHolder(ViewHolder holder, int position) {
holder.mTextView.setText("String");
holder.mTextView1.setText("String");
holder.mTextView2.setText("String");
holder.mTextView3.setText("String");
}

关于java - 在 RecyclerView 中使用多个 View 和数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31869181/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com