我如何使用一个 arrayAdapter 处理 4 个不同的列表视图。我有 4 个不同的 ArrayLists 传递给 arrayAdapter。而不是复制和粘贴来制作 4 个相同的 ArrayAdapter 类,除了特定于输入适配器的 arrayList 的几行。为 4 个单独的 arrayLists 使用相同的 arrayAdapter 类怎么样?
问题是我需要 ArrayAdapter 知道输入了 4 个 arrayList 中的哪一个,因为我在 Adapter 类方法中有一个 switch 语句。
在这种情况下,我应该向这个 ArrayAdapter 类的构造函数添加一个额外的参数变量,作为输入四个数组列表中的哪一个的标识符吗?像一个int?
因为我的适配器类扩展了 ArrayAdapter 类我该怎么做?我会在构造函数参数中再添加一个变量位置,然后像这样让超级调用与以前一样吗?
super(context, textViewResourceId, objects);
你会如何处理这个问题?
// array adapter where you enter the array
SelectorListAdapter adapter = new SelectorListAdapter(activity, R.layout.row_layout, smallTank2listInfo1Array);
SelectorListAdapter adapter2 = new SelectorListAdapter(activity, R.layout.row_layout, smallTank2listInfo2Array);
SelectorListAdapter adapter3 = new SelectorListAdapter(activity, R.layout.row_layout, smallTank2listInfo3Array);
SelectorListAdapter adapter4 = new SelectorListAdapter(activity, R.layout.row_layout, smallTank2listInfo4Array);
// set array adapter to listview
listViewOne.setAdapter(adapter);
listViewTwo.setAdapter(adapter2);
listViewThree.setAdapter(adapter3);
listViewFour.setAdapter(adapter4);
public class SelectorListAdapter extends ArrayAdapter<CheckBoxListInfo>{
ArrayList<CheckBoxListInfo> objects;
Context context;
int textViewResourceId;
private String tempLabel;
private boolean isChecked;
public SelectorListAdapter(Context context, int textViewResourceId,
ArrayList<CheckBoxListInfo> objects) {
super(context, textViewResourceId, objects);
this.context = context;
this.textViewResourceId = textViewResourceId;
this.objects = objects;
}