如何在Android上管理startActivityForResult

首先,在你的FirstActivity里,通过startActivityForResult()方法调用SecondActivity

例如:

1int LAUNCH_SECOND_ACTIVITY = 1;
2Intent i = new Intent(this, SecondActivity.class);
3startActivityForResult(i, LAUNCH_SECOND_ACTIVITY);

然后,在你的SecondActivity里,设置要返回给FirstActivity的数据。如果你不想返回数据,就不要设置任何值。

例如:在SecondActivity里,如果你想返回数据,可以这样设置:

1Intent returnIntent = new Intent();
2returnIntent.putExtra("result", result);
3setResult(Activity.RESULT_OK, returnIntent);
4finish();

如果你不想返回数据,可以这样设置:

1Intent returnIntent = new Intent();
2setResult(Activity.RESULT_CANCELED, returnIntent);
3finish();

接下来,在你的FirstActivity类中,编写以下代码来处理onActivityResult()方法:

 1@Override
 2protected void onActivityResult(int requestCode, int resultCode, Intent data) {
 3    super.onActivityResult(requestCode, resultCode, data);
 4
 5    if (requestCode == LAUNCH_SECOND_ACTIVITY) {
 6        if(resultCode == Activity.RESULT_OK){
 7            String result = data.getStringExtra("result");
 8            // 处理返回的结果
 9        }
10        if (resultCode == Activity.RESULT_CANCELED) {
11            // 处理没有结果的情况
12        }
13    }
14}

以上就是在Android上管理startActivityForResult的方法。如果想要更好地在两个活动之间传递数据,可以参考Kotlin中更好的方法


相关文章推荐