android 主 activity,从Android中的子活动返回MainActivity
时间: 2024-04-30 18:21:04 浏览: 59
Android中调用另一个Activity并返回结果(选择头像功能为例)
在 Android 中,从子活动返回主活动(MainActivity)需要使用 startActivityForResult() 方法来启动子活动,并在子活动完成后在 onActivityResult() 方法中处理返回结果。
首先,在 MainActivity 中启动子活动:
```java
Intent intent = new Intent(MainActivity.this, SubActivity.class);
startActivityForResult(intent, 1);
```
这里的 1 是一个请求码(requestCode),用于在 onActivityResult() 方法中识别返回的结果。
然后,在 SubActivity 中结束子活动并返回结果:
```java
Intent intent = new Intent();
intent.putExtra("result", "返回结果");
setResult(RESULT_OK, intent);
finish();
```
这里使用了 setResult() 方法来设置返回结果和状态码(resultCode),然后使用 finish() 方法结束子活动。
最后,在 MainActivity 中重写 onActivityResult() 方法来处理返回结果:
```java
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1 && resultCode == RESULT_OK) {
String result = data.getStringExtra("result");
Toast.makeText(this, result, Toast.LENGTH_SHORT).show();
}
}
```
这里根据请求码和状态码来判断返回结果是否正确,并从返回的 Intent 中获取数据进行处理。
阅读全文