在 Activity 之间传递数据时遇到问题。
ListActivity 正在收集数据,当按下后退按钮时返回 MainActivity,然后想通过 onResume 方法获取该数据,但我什么也没得到。

如何解决这个问题?

列表 Activity .java

    @Override
public void finish() {
    i = new Intent(ArrayListActivity.this, MainActivity.class);
    i.putParcelableArrayListExtra(Constants.TAG_SELECTED_PRODUCT_LIST, selected_list);
    super.finish();
}

主 Activity .java
    @Override
protected void onResume() {
    super.onResume();

    Bundle extras = getIntent().getExtras().getBundle(Constants.TAG_SELECTED_PRODUCT_LIST);
    if(extras != null) {
        selected_list = extras.getParcelableArrayList(Constants.TAG_SELECTED_PRODUCT_LIST);


        myListView.setAdapter(new ProductAdapter(MainActivity.this,
                    R.layout.array_lisviewt_item_row, selected_list));
    }
}

最佳答案

您可能希望通过 startActivityForResult(...) 方法从第一个 Activity 开始您的第二个 Activity 。

此方法允许您将已启动 Activity 的结果传输回其启动 Activity 。

从文档:

10-07 22:09