gpt4 book ai didi

java - 从另一个 Activity 将项目添加到回收者 View

转载 作者:行者123 更新时间:2023-12-02 11:20:45 25 4
gpt4 key购买 nike

我想单击一个按钮,将一堆新对象添加到另一个 Activity 的回收器 View 中。

我有 Activity A(食谱页面)和 Activity B(购物 list )。我在 Activity A 中有一个菜单按钮,用于将数组的所有项目(成分)添加到 Activity B 的回收器 View ArrayList。

我在 Activity A 中有一个循环来遍历数组的每个成分:

for (int x = 0; x < recipeIngredients.length; x++) {
ShoppingList.insertItem(recipeIngredients[x]);

}

还有 Activity B 中的一个方法,我在 Activity B 中使用该方法将单个项目添加到回收器 View 中。但是当在 Activity A 中调用时(如上所述),我得到空对象引用。

购物 list Activity :

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();
}

最佳答案

我在 Activity B 中声明了一个数组列表:

static ArrayList<String> listItems = new ArrayList<String>();

将在 Activity A 中创建项目的字符串“ingredient”添加到数组列表中:

ShoppingList.listItems.add(ingredient);

然后在 Activity B 的 oncreate 中,将 arraylist 中的任何项目添加到购物 list 并通知适配器:

for(String s : listItems) {
mShoppingList.add(new ShoppingItem(s));
mAdapter.notifyDataSetChanged();
}

关于java - 从另一个 Activity 将项目添加到回收者 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49936832/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com