我的问题很简单,我正在尝试将数组列表从我的第二个 Activity 传递到我的 mainActivity。
但是,当用户从 secondaryActivity 按下返回时调用我的主 Activity 中的 onRestart() 时,数组列表似乎为空。
主要 Activity
@Override public void onRestart() {
super.onRestart();
DefaultLocations = (ArrayList<String>) getIntent().getSerializableExtra("updated");
///default locations is null
}
第二项 Activity
@Override public void onPause() {
super.onPause();
Intent intent = new Intent(ManageLocations.this, MainActivity.class);
intent.putExtra("updated",locationsavailable)///size is 2 currently;
this.setIntent(intent);
}
我环顾四周,因为我知道有很多示例,但没有一个可以帮助我将数组列表传递回我的 mainActivity。
感谢所有帮助!
最佳答案
在第二个 Activity 中:
ArrayList < String > locationsavailable = new ArrayList < String > ();
locationsavailable.add("location1");
locationsavailable.add("location2");
Intent sentIntent = new Intent(SecondActivity.this, FirstActivity.class);
sentIntent.putExtra("string-array", locationsavailable);
startActivity(sentIntent);
在第一个 Activity 中:
Intent intent = getIntent();
String [] DefaultLocations = intent.getStringArrayExtra("string-array");
已编辑:
就您而言,我建议使用 startActivityForResult
启动第二个 Activity
并在第一个 Activity 中覆盖 onActivityResult
。
关于java - 将 ArrayList 从 SecondActivity 传递到 MainActivity Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53356225/