1
解決通過自定義適配器填充列表視圖的難題,該自定義適配器正在通過如下定義的多個陣列列表。通過自定義BaseAdapter傳遞多個ArrayList來填充列表視圖
主要活動: 我們聲明的ArrayList:
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,膨脹的佈局,並從傳遞的變量定義分配imageviews;像這樣:
imgChallengeIcon.setImageResource(img_challengeicon_values.get(position));
imgChallengerPic.setImageResource(img_challengeicon_values.get(position));
不太明白你問什麼在這裏..是您的列表爲空/崩潰? – Zelleriation
這是問題的表示。目前已經找到一種解決方法,它涉及到直接對數據庫執行查詢。避免將操作抽象爲自己的類。通過在初始化遊標上調用通知數據集更改,可以有效地重新查詢數據。 – wurde