演習として試している買い物リスト アプリケーションには、次のアクティビティがあります。
- ShoppingListMain - 買い物リストのリスト
- ShoppingListActivity - 特定のショッピング リストのすべてのショッピング リスト アイテムを表示するもの
- ListItemEditActivity - 買い物リスト項目の詳細を編集できるもの
(アクティビティ 1 で) 新しいショッピング リストを追加すると、ListView が完全に更新されます。ただし、新しいショッピング リスト アイテムを (アクティビティ #2 で) 追加するときは、戻るボタンを押して、新しいアイテムを追加したショッピング リストに戻り、そのアイテムを ListView に表示する必要があります。
次の投稿で提案を既に試しましたが、ShoppingListActivity の ListView ではまだうまくいきません。
この問題の助けをいただければ幸いです。
新しい買い物リストを追加するために使用したコード...
ShoppingListApplication.java
public void insertShoppingList(ShoppingList shoppingList) {
assert(shoppingList != null);
long id = mDbAdapter.insertShoppingList(shoppingList.getName());
shoppingList.setId(id);
mShoppingLists.add(shoppingList);
}
ShoppingListMain.java
mNewListAddButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String name = mNewListName.getText().toString();
ShoppingList newList = new ShoppingList();
newList.setName(name);
mApp.insertShoppingList(newList);
mNewListName.setText("");
mListAdapter.notifyDataSetChanged();
}
});
個々の買い物リストに新しいアイテムを追加するには...
ShoppingListActivity.java
long id = mDbAdapter.insertListItem(mParentListId,
item.getDescription(), item.getQuantity(),
item.getUnitCost(), item.isPurchased(),
item.getNotes());
Log.i("ShoppingList", "New ID " + id);
item.setId(id);
mListItems.add(item);
mListAdapter.notifyDataSetChanged();
setListTotal();