Прямо сейчас я получаю свои модели в красивой объектно-ориентированной форме. Чтобы привязать их к моему списку, я должен использовать listAdapter. Могу ли я заполнить этот listAdapter только глупыми ArrayLists? Потому что это означает, что мне нужно перебрать мою коллекцию моделей и снова извлечь все данные из моих моделей.
Итак, я отделяю свои данные от моделей и не могу легко обновить данные в своем listView, если что-то случится в modelCollection (например, станет больше за счет новых элементов/разбивки на страницы).
Существует ли более разумный способ, чем я сейчас использую? Могу ли я более тесно привязать свою ModelCollection к listView?
ModelCollection modelCollection = ModelCategory.findAll();
/*
* Prepare Data for Adapter
*/
ArrayList<String> itemTitles = new ArrayList<String>();
// Iterate over my ModelCollection and pull all the Data from each Model
for (int i = 0; i < modelCollection.items.size(); i++) {
if (modelCollection.items.get(i) != null) {
// TODO: Cant I bind my Models directly to the List without creating this ArrayList?
itemTitles.add(((ModelCategory) modelCollection.items.get(i)).getTitle());
}
}
/*
* Create Adapter and bind Array
*/
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, itemTitles );
setListAdapter(adapter);
Еще один вопрос: как мне расширить свой код, если я хочу добавить в список небольшие субтитры под заголовком?