[英]Add items to recycler view from another activity
我想單擊一個按鈕,將一堆新對象添加到另一個活動中的回收器視圖。
我有活動 A(食譜頁面)和活動 B(購物清單)。 我在活動 A 中有一個菜單按鈕,用於將數組(成分)的所有項目添加到活動 B 的 Recycler View ArrayList。
我在活動 A 中有一個循環來遍歷數組的每個成分:
for (int x = 0; x < recipeIngredients.length; x++) {
ShoppingList.insertItem(recipeIngredients[x]);
}
以及我在活動 B 中使用的活動 B 中的方法將單個項目添加到回收站視圖。 但是當在活動 A(如上)中調用時,我得到空對象引用。
購物清單活動:
private RecyclerView mRecyclerView;
public RecyclerView.Adapter mAdapter;
private RecyclerView.LayoutManager mLayoutManager;
public static ArrayList<ShoppingItem> mShoppingList;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_shopping_list);
mRecyclerView = findViewById(R.id.shopping_listView);
mRecyclerView.setHasFixedSize(true);
mLayoutManager = new LinearLayoutManager(this);
mAdapter = new ShoppingListAdapter(mShoppingList);
mRecyclerView.setLayoutManager(mLayoutManager);
mRecyclerView.setAdapter(mAdapter);
}
public void insertItem(String ingredient) {
mShoppingList.add(new ShoppingItem(ingredient));
mAdapter.notifyDataSetChanged();
}
我在活動 B 中聲明了一個數組列表:
static ArrayList<String> listItems = new ArrayList<String>();
將在活動 A 中創建項目的字符串“成分”添加到數組列表:
ShoppingList.listItems.add(ingredient);
然后在 Activity B 的 oncreate 中,將 arraylist 中的任何項目添加到購物清單並通知適配器:
for(String s : listItems) {
mShoppingList.add(new ShoppingItem(s));
mAdapter.notifyDataSetChanged();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.