gpt4 book ai didi

Android putExtra 停止工作

转载 作者:行者123 更新时间:2023-11-29 02:01:14 24 4
gpt4 key购买 nike

我有 Intent,我从 MainActivity 将两个 ArrayLists 的 Parceables 传递给一个“FormActivity”,它接收 ArrayLists perfeclty(使用 startActivityForResult),完美地返回通过表单收集的数据。

问题是,如果我点击按钮再次打开 FormActivity,这两个 ArrayList 不会再次发送,我会得到一个 NullPointerException。

有没有人见过这个?

谢谢。

主要 Activity 代码:

 public void insertProductButtonClicked(View view){
Intent addProductIntent = new Intent(getBaseContext(), AddProductActivity.class);
addProductIntent.removeExtra("consumers");
addProductIntent.removeExtra("products");
addProductIntent.putParcelableArrayListExtra("consumers", consumers);
addProductIntent.putParcelableArrayListExtra("products", products);
startActivityForResult(addProductIntent, MyActivities.ACTIVITY_ADD_PRODUCT);
}

AddProductActivity 代码(“FormActivity”):

    Intent intent = new Intent();
intent.putExtra("productName", productNameEditText.getText().toString());
intent.putExtra("productPrice", Double.valueOf(productPriceEditText.getText().toString()));

SparseBooleanArray checkedItems = consumersListView.getCheckedItemPositions();
ArrayList<Integer> consumersToAdd = new ArrayList<Integer>();
for (int i = 0; i < consumers.size(); i++) {
if (checkedItems.get(i)){
consumersToAdd.add(consumers.get(i).getId());
}
}

intent.putIntegerArrayListExtra("productConsumers", consumersToAdd);
setResult(Activity.RESULT_OK, intent);
finish();

最佳答案

您可以将您的 ArrayList 声明为静态的,检查下面...

public static ArrayList<String> array = new ArrayList<String>(); 

通过这样做,您可以从任何地方按类型访问您的 ArrayList

activity_name.array;

其中 activity_name 是您在其中声明静态 ArrayList 的 Activity 或类。

祝你好运。

关于Android putExtra 停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12575546/

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