Я создал собственный CustomArrayAdapter для отображения списка бразильских ресторанов. Я переопределил метод GetView, чтобы создать свой собственный вид.
private class MyAdapter extends ArrayAdapter<String> {
public MyAdapter(Context context, int resource, int textViewResourceId,
String[] strings) {
super(context, resource, textViewResourceId, strings);
// TODO Auto-generated constructor stub
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View row = inflater.inflate(R.layout.list_item, parent,false);
String [] items= getResources().getStringArray(R.array.locations_array);
TextView tv= (TextView) row.findViewById(R.id.textView1);
ImageView iv = (ImageView) row.findViewById(R.id.imageView1);
tv.setText(items[position]);
iv.setImageResource(R.drawable.brazil);
return row;
}
}
В настоящее время этот новый класс GetView извлекает текстовую строку из XML-файла ресурса и помещает ее в элемент списка.
- Если я хотел включить массив дополнительных данных, сгенерированных в приложении, я предполагаю, что я не делаю генерацию массива в классе GetView, так как он будет воссоздан каждый раз, когда создается новая строка.
- Куда мне поместить код для создания массива и как я вызываю эти данные в приведенном выше коде GetView?