#android #android-emulator #android-layout
#Android #android-эмулятор #android-layout
Вопрос:
У меня есть массив приложений (PInfo), и мне интересно, как мне добавить этот массив в listview?
ArrayList<PInfo> info = appsGetter.listPackages();
int number = 0;
PInfo appInArray;
while(number < info.size()){
appInArray = info.get(number);
}
Это то, что у меня есть на данный момент, listPackages() — это метод, который получает названия приложений с устройства.
На данный момент я пытаюсь извлекать информацию из массива одну за другой и добавлять ее в listview подобным образом. Так ли я должен это сделать, должен ли я добавить массив прямо в listview? И как вы это делаете?
Комментарии:
1. Пожалуйста, напишите более четкий вопрос с некоторыми деталями? Смотрите tinyurl.com/so-hints
Ответ №1:
Вы можете использовать ArrayAdapter
и инициализировать его следующим образом:
ArrayAdapter<PInfo> adapter = new ArrayAdapter(context,
android.R.layout.simple_list_item_multiple_choice,
info);
Тогда вы сможете сами использовать ListView.setAdapter(adapter)
.
Хотя я не уверен, что это то, о чем вы спрашиваете. Поэтому, пожалуйста, уточните подробнее, если это не то, о чем вы спрашиваете
Ответ №2:
Попробуйте использовать адаптер. Например (используя только строковое значение объекта), вы могли бы сделать следующее:
ListView listView = (ListView)findViewById( R.id.myListView );
final ArrayList<String> listItems = new ArrayList<String>();
final ArrayAdapter<String> adapter = new ArrayAdapter<String>( this, android.R.layout.simple_list_item_1, listItems );
listView.setAdapter( adapter );
Просто краткий пример, но я надеюсь, что он послужит вам отправной точкой. Просто убедитесь, что при последующем добавлении значений в ваш источник данных (в данном случае ArrayList) вы вызовете метод адаптера «notifyDataSetChanged()», чтобы он мог быть должным образом отражен во всем, что было привязано к адаптеру (в данном случае к ListView).
Ответ №3:
Вам нужно использовать ArrayAdapter. Просто найдите образец ListView и ArrayAdapter в Интернете. Это довольно просто, как только вы увидите, что это сделано.