簡體   English   中英

從另一個活動將項目添加到回收者視圖

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM