我需要一些RecyclerView.Adapter的帮助。我传递给一个对象Dart的arraylist的recyclerview适配器,我有一个simple_list_item.xml,它有3个textviews(dart1Txt,dart2Txt和dart3Txt)。我希望适配器从arraylist获取值并填充textviews。例如,我有值10,20,30,3,5,6,我希望像那样打印
10 20 30
3 5 6
等等。
我无法理解如何做到这一点。这是我的onBindViewHolder。
onBindViewHolder(RoundsStatsAdapter.ViewHolder holder, int position){
Dart dart = mDarts.get(position);
holder.dart1Textview.setText(String.valueOf(dart.getScore()));
}
更新以获取更多信息: 我有一个具有字段dartScore的Dart对象。我发送了一个Dart对象的arrayList,我希望recyclelerview适配器从arraylist获得前3个Darts,并用dartScore填充3个textviews,之后从arraylist接下来的3个Darts再到3个新的填充3 textviews等。
谢谢
答案 0 :(得分:1)
您可以在DartTuple列表中拆分飞镖列表:
private class DartTuple {
Dart dart1, dart2, dart3;
}
或者如果您是列表,您的列表总是包含3 * x项,您只需更改您的适配器
onBindViewHolder(RoundsStatsAdapter.ViewHolder holder, int position){
position = position * 3; // to use multiple 3 increment
Dart dart1 = mDarts.get(position);
Dart dart2 = mDarts.get(position + 1);
Dart dart3 = mDarts.get(position + 2);
/* your layout
holder.dart1Textview.setText(String.valueOf(dart.getScore()));
*/
}
@Override
public int getItemCount() {
return mDarts.size()/3;
}