您的位置:首页 > 其它

Intent中startActivityForResult用法

2015-03-24 14:54 483 查看
今天在页面跳转遇见问题A页面为FragMent 没有继承FragMentAcitivity目前需要A页面跳转到B,B跳转到C,C跳转到D,然后从D回到A, ( B,C,D为activity界面)。由于FragMent不能注册清单文件,不能使用StartActivity(intent) 实现研究下startActivityForResult方法也是用于启动活动的,但这个方法期望在活动销毁的时候能够返回一个结果给上一个活动。毫无疑问,这就是我们所需要的 也就是C销毁会返回值给B。在B的点击事件写成:
Intent intent = new Intent(B.this,C.class);
startActivityForResult(intent, 1);
在C的点击事件写成:
Intent intent = new Intent();setResult(1);finish();
这样C的界面就会返回给B界面的一个值 1
B界面需要重写:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case 1:
if (resultCode == 1) {
finish();  //B界面结束后直接回回到A界面,任务栈原理,当然也可以做其它处理
}break;default:}}
其它每个界面C,D都是重复上面操作,完美解决问题!!!!

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: