В настоящее время у меня есть список по умолчанию, отображающий имена из Arraylist
JavaClassName. Я хотел бы реализовать ImageView в ListView, так что я прочитал и попытался методы из этих 2-х звеньев:
Android Custom Listview with Image and Text using ArrayAdapter
Android Custom ListView with Images and Text – ExampleAndroid Customized ListView и ArrayList
Я проблема перехода от их String[]
и Integer[]
в своих CustomList
классов в мои ArrayList
, как изображение и имя хранятся в этом Arraylist
. Мой ArrayList
состоит из других данных, но мне нужно только получить данные для показа в настраиваемом ListView
.
редактирует/Добавить на:
private final Activity context;
private final String[] itemname;
private final Integer[] imgid;
public CustomListAdapter(Activity context, String[] itemname, Integer[] imgid) {
super(context, R.layout.mylist, itemname);
// TODO Auto-generated constructor stub
this.context=context;
this.itemname=itemname;
this.imgid=imgid;
}
public View getView(int position,View view,ViewGroup parent) {
LayoutInflater inflater=context.getLayoutInflater();
View rowView=inflater.inflate(R.layout.mylist, null,true);
TextView txtTitle = (TextView) rowView.findViewById(R.id.item);
ImageView imageView = (ImageView) rowView.findViewById(R.id.icon);
TextView extratxt = (TextView) rowView.findViewById(R.id.textView1);
txtTitle.setText(itemname[position]);
imageView.setImageResource(imgid[position]);
extratxt.setText("Description "+itemname[position]);
return rowView;
};
Я следовал вплотную к одной из ссылок, предоставляемых для создания customAdapter. И это то, что я имею в MainActivity
final ArrayList<JavaClassName> arrayListName = new ArrayList<JavaClassName>();
arrayListName.add(new JavaClassName(R.drawable.icon1, "name", "info", "info", "info"));
arrayListName.add(new JavaClassName(R.drawable.icon2, "name", "info", "info", "info"));
final ArrayList<String> itemName = new ArrayList<String>();
for(int i=0; i<arrayListName.size(); i++){
String name = arrayListName.get(i).getName().toString();
itemName.add(name);
};
CustomAdapter adapter = new CustomAdapter>(this, android.R.layout.simple_list_item_1, itemName);
listView.setAdapter(adapter);
Как я могу соответствовать String [] и Integer [] из класса CustomAdapter в адаптер CustomAdapter = новый CustomAdapter> (это, android.R.layout.simple_list_item_1 , название предмета);?
Не забудьте поделиться своим кодом и правильно объяснить, что происходит? – aribeiro
'adapter = new ArrayAdapter (это, android.R.layout.simple_list_item_1, arrayListName);' это мой текущий адаптер.эти 2 ссылки используют этот адаптатор, который передает 2 массива: «CustomListAdapter adapter = new CustomListAdapter (this, itemname, imgid)»; Итак, как я могу внести изменения, чтобы получить изображение и имя из моего arraylist в customListAdapter, не делая еще 2 массивы? –
Alvin
Вам нужно будет создать пользовательский адаптер, который будет принимать созданные вами коллекции для заполнения данных в списке, чтобы создать пользовательский список. Для получения дополнительной информации, предоставьте код в вопросе, чтобы вы могли помочь вам. –