我的应用程序显示活动(1)。当您按下按钮时,应用程序打开片段。之后,片段将数据发送到活动(2)并打开活动(2) - 效果很好。最后,活动(2)编辑数据并将其发送到活动(1) - 这是问题 - 。
我尝试了很多方法,但它没有工作
答案 0 :(得分:2)
答案 1 :(得分:0)
可能是这样的;
片段:
Intent i = new Intent(getContext(), Activity2.class);
i.putExtra("data", data);
getActivity().startActivityForResult(i, REQUEST_CODE);
在活动(2)中:
Intent resultIntent = new Intent();
resultIntent.putExtra("data", data);
setResult(Activity.RESULT_OK, resultIntent);
finish();
在活动(1)中:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_CODE) {
// Make sure the request was successful
if (resultCode == Acitivity.RESULT_OK) {
String stringData = data.getExtras().getString("data");
// Data can be string, int etc. or serializable
// YourObject object = (YourObject) data.getExtras().getSerializable("data");
}
}
}
答案 2 :(得分:0)
我还没有足够的声誉发表评论。
无论如何,你实际上要做的是从Activity2返回一个结果。这个答案解释了如何做到这一点:https://stackoverflow.com/a/10407371/3389196
这在应用程序之间发生了很多。例如。调用相机活动,为您提供照片。但这也可以在您自己的应用程序中的活动之间完成。
更多信息:
https://developer.android.com/training/basics/intents/result.html#StartActivity https://developer.android.com/training/basics/intents/filters.html#ReturnResult