现在,我以一种很好的面向对象的形式获得了我的模型。为了将它们绑定到我的列表,我必须使用 listAdapter。我只能用愚蠢的 ArrayLists 填充这个 listAdapter 吗?因为这意味着,我必须遍历我的 ModelCollection 并再次从我的模型中提取所有数据。
所以,我将我的数据从模型中分离出来,如果 modelCollection 中有机会(比如通过新项目/分页变得更大),我无法轻松刷新我的 listView 中的数据。
是否存在比我现在使用的更智能的方法?我可以更直接地将我的 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);
还有一个问题:当我想在列表的标题下方添加小字幕时,如何扩展我的代码?