在活动之间传递数据时遇到问题。
ListActivity 正在收集数据,当按下后退按钮时返回到 MainActivity,然后想要通过 onResume 方法获取该数据,但我什么也没得到。
如何解决这个问题呢?
列表活动.java
@Override
public void finish() {
i = new Intent(ArrayListActivity.this, MainActivity.class);
i.putParcelableArrayListExtra(Constants.TAG_SELECTED_PRODUCT_LIST, selected_list);
super.finish();
}
MainActivity.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(...) https://developer.android.com/reference/android/app/Activity.html#startActivityForResult%28android.content.Intent,%20int,%20android.os.Bundle%29 method.
此方法允许您将结果从启动的活动传输回其启动的活动。
从文档中:
启动一项您希望在其完成后得到结果的活动。
当此活动退出时,您的onActivityResult() https://developer.android.com/reference/android/app/Activity.html#onActivityResult%28int,%20int,%20android.content.Intent%29方法将是
使用给定的 requestCode 进行调用。使用负 requestCode 是
与调用 startActivity(Intent) 相同(活动未启动为
子活动)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)