Мне нужно использовать ArrayAdapter для заполнения ListView в приложении для Android. Для того, чтобы use the ArrayAdapter, он говоритКак использовать массив объектов с Android ArrayAdapter?
Например, если у вас есть массив строк, которые вы хотите отобразить в ListView, инициализировать новый ArrayAdapter с помощью конструктора, чтобы указать расположение для каждой строки и массива строк:
ArrayAdapter adapter = новый ArrayAdapter (это, android.R.layout.simple_list_item_1, myStringArray);
Аргументы для этого конструктора являются:
- Ваше приложение Контекст
- макет, который содержит TextView для каждой строки в массиве
- Строка массива
Тогда просто позвоните setAdapter() в вашем ListView:
ListView listView = (ListView) findViewB Yid (R.id.listview); listView.setAdapter (адаптер);
Однако у меня нет массива строк, у меня есть массив объектов, содержащих строковые значения.
public class Headers {
private String from;
private String to;
private String subject;
public Headers (String from, String to, String subject){
this.from = from;
this.to = to;
this.subject = subject;
}
public String getFrom() { return from; }
public void setFrom(String from) { this.from = from; }
public String getTo() { return to; }
public void setTo(String to) { this.to = to; }
public String getSubject() { return subject; }
public void setSubject(String subject) { this.subject = subject; }
}
В моем макете есть TextView, соответствующий значениям в моем объекте.
Вот мой макет с моей ListView:
<LinearLayout android:orientation="vertical">
<ListView android:id="@+id/listOfHeaders" >
</LinearLayout>
А вот макет для каждой строки в ListView быть заселена ArrayAdapter:
<LinearLayout android:orientation="horizontal">
<TextView android:id="@+id/toTextView" />
<TextView android:id="@+id/fromTextView" />
<TextView android:id="@+id/subjectTextView" />
</LinearLayout>
поэтому используйте '' ArrayAdapter, а не '' ArrayAdapter –
pskink
Да, но тогда мне нужно заполнить мои TextViews со строками из объекта заголовков, и это выглядит как ListView хочет массив строк. – Brian
На самом деле, вы не можете переопределить метод getView и выполнить все сопоставления (проще, если вы используете «ArrayAdapter (контекст контекста, int resource, int textViewResourceId)» ctor) – pskink