現在、私は自分のモデルを素晴らしいオブジェクト指向の形式で取得しています。それらをリストにバインドするには、listAdapter を使用する必要があります。この listAdapter を愚かな ArrayLists だけで満たすことはできますか? つまり、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);
もう 1 つの質問はさておき: リストのタイトルの下に小さな字幕を追加したい場合、どのようにコードを拡張する必要がありますか?