Intent的两种跳转方式
无返回值的跳转
以点击按钮跳转到下一个页面,在Button的监听事件中写
Intent intent =new Intent([ActivityName].this,[TagActivity].class);
startActivity(intent);
然后在manifest.xml中声明一个那个Activity就好了。
这样就可以实现跳转了,当点击按钮时可以跳转到对应的页面
有返回值的跳转
在activity1中先同样用按钮启动为例,需要使用startActivityForResult(Activity activity, Intent intent, int requestCode, Bundle options)
(注,有的可能没有第一个(activity)参数,无碍)方法:
startActivityForResult(intent,requestCode);
重写onActivityResult方法
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
//取得从Result返回值
super.onActivityResult(requestCode,resultCode,data);
//对requestCode和ResultCode进行判断,执行相应的动作
........
}
在目标Activity中,新建一个按钮并注册监听事件,要将数据返回可用一下方法public final void setResult (int resultCode, Intent data)
。
具体实现代码:
Intent intent=new Intent();
intent.putExtra("msg",data);
setResult(2,intent);
finish();
之所以同时有请求吗和结果码,是当有多个页面都要返回数值时,只有这样才能确定唯一的一个信息:请求码为requestCode,结果码为IntentCode码的一条数据.
Tips:请求回传的数据不是主动回传的,而是自己被动返回的。