我有和Intent,并且我从MainActivity传递两个Parcelables ArrayLists到一个“FormActivity”,它接收ArrayLists perfeclty(使用startActivityForResult),完美地返回通过表单收集的数据。Android putExtra停止工作
的问题是,如果我按一下按钮,再次打开FormActivity,两人的ArrayList不会再发送,我也得到一个NullPointerException。
有没有人见过这个?
谢谢。
MainActivity代码:
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();
你可以发布NPE的堆栈跟踪吗? – mrres1