我作为练习尝试的购物清单应用程序具有以下活动:
- 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();