Android 如何实现活动之间的回调机制
我有两个活动第一个详细信息活动和第二个活动页面是确认页面,一旦我确认它应该返回到第一个页面,我应该如何处理这个场景Android 如何实现活动之间的回调机制,android,android-intent,android-event,Android,Android Intent,Android Event,我有两个活动第一个详细信息活动和第二个活动页面是确认页面,一旦我确认它应该返回到第一个页面,我应该如何处理这个场景 是否可以在活动之间使用,而不是使用片段?通过startActivityForResult(intent,requestCode)启动结果确认页面 下面是一个完整的示例()我认为调用finish()是退出活动的最简单方法。它应该返回到上一个,类似于按“后退”按钮 Intent i = new Intent(); Bundle extra = new Bundle();
是否可以在活动之间使用,而不是使用片段?通过
startActivityForResult(intent,requestCode)
启动结果确认页面
下面是一个完整的示例()我认为调用finish()是退出活动的最简单方法。它应该返回到上一个,类似于按“后退”按钮
Intent i = new Intent();
Bundle extra = new Bundle();
extra.putString("NameKey", KeyValue);
i.putExtras(extra);
setResult(1, i);
finish();
编辑:尽管如Sirlate所述,如果您希望返回数据,startActivityForResult可能是您的最佳选择。这可能会对您有所帮助
这是FirstActivity
Intent i = new Intent(this, SecondActivity.class);
startActivityForResult(i, 1);
如果你想发回数据,还有第二个活动
Intent returnIntent = new Intent();
returnIntent.putExtra("result",result);
setResult(RESULT_OK,returnIntent);
finish();
您必须使用startActivityForResult();方法启动第二个活动时 您还必须实现onActivityResult()方法 这是第一个活动的代码
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == 1) {
Bundle extra = data.getExtras();
String ID = extra.getString("NameKey").trim();
// do your code here.
}
}
第二个活动中的代码
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == 1) {
Bundle extra = data.getExtras();
String ID = extra.getString("NameKey").trim();
// do your code here.
}
}
在确认按钮上添加代码
Intent i = new Intent();
Bundle extra = new Bundle();
extra.putString("NameKey", KeyValue);
i.putExtras(extra);
setResult(1, i);
finish();
使用
startActivityForResult()
从您的孩子活动
向其家长发送响应。