解决通过自定义适配器填充列表视图的谜团,该适配器正在传递多个数组列表,如下定义。
主要活动:我们声明数组列表:
private static ArrayList<Integer> img_challengeicon_values;
static {
img_challengeicon_values = new ArrayList<Integer>();
img_challengeicon_values.add(R.drawable.actionbar_hello);
img_challengeicon_values.add(R.drawable.actionbar_world);
}
private static ArrayList<Integer> img_challengerpic_values;
static {
img_challengerpic_values = new ArrayList<Integer>();
img_challengerpic_values.add(R.drawable.actionbar_look);
img_challengerpic_values.add(R.drawable.actionbar_down);
}
我们声明我们的适配器:
arrayAdapter adapter = new arrayAdapter(this,
img_challengeicon_values,
img_challengerpic_values);
适配器活动:我们扩展 BaseAdapter && 设置变量:
extends BaseAdapter {
private final Context context;
private ArrayList<Integer> img_challengeicon_values;
private ArrayList<Integer> img_challengerpic_values;
我们调用构造函数:
public arrayAdapter(Context context,
ArrayList<Integer> img_challengeicon_values,
ArrayList<Integer> img_challengerpic_values) {
this.context = context;
this.img_challengeicon_values = img_challengeicon_values;
this.img_challengerpic_values = img_challengerpic_values;
}
最后,我们调用 getView、膨胀布局,并根据传递的变量定义分配图像视图;像这样:
imgChallengeIcon.setImageResource(img_challengeicon_values.get(position));
imgChallengerPic.setImageResource(img_challengeicon_values.get(position));