Solve the mystery of populating a listview through a custom adapter, which is being passed multiple arraylists as defined below.
MAIN ACTIVITY: we declare the arraylists:
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);
}
we declare our adapter:
arrayAdapter adapter = new arrayAdapter(this,
img_challengeicon_values,
img_challengerpic_values);
ADAPTER ACTIVITY: we extend BaseAdapter && set variables:
extends BaseAdapter {
private final Context context;
private ArrayList<Integer> img_challengeicon_values;
private ArrayList<Integer> img_challengerpic_values;
we call constructor:
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;
}
lastly we call getView, inflate layout, and assign imageviews as defined from passed variables; like so:
imgChallengeIcon.setImageResource(img_challengeicon_values.get(position));
imgChallengerPic.setImageResource(img_challengeicon_values.get(position));