Intent:可理解为信使,由Intent协助完成Android各个组件之间的通讯。
一、Intent实现页面之间跳转的两种方式
(1)直接跳转:startActivity(intent)
(2)startActivityForResult(intent,requestCode) ; 有返回值,如A页面启动B页面,B页面的数据可以回传给A页面
需关联两个方法:onActivityResult(int requestCode,int resultCode,Intent data); 在A页面使用,接收B页面回传过来的数据,参数的意思可以理解为“哪个页面返回给哪个页面的数据”。
和setResult(resultCode,data); 在B页面使用,将数据回传给A页面
二、Intent的初始化
//参数1,A页面activity的Activity类的对象
//参数2,B页面所在的Activity类的java文件编译后的class文件名
Intent intent=new Intent(上下文对象this, 目标文件);
(1)方式1:startActivity(intent);
(2)方式2:startActivityForResult(intent,requestCode); //参数1:Intent对象,参数2:int类型,请求的一个标识
额外操作:
---在A页面中接收返回的数据
在A页面所在的.java文件中重写 onActivityResult(int requestCode,int resultCode,Intent data)方法,参数2为B页面返回的标识。
取Intent中的数据:如取String类型数据则
String content=data.getStringExtra("data"); //参数为data.putExtra()中的key标识
---在B页面所在的类中发送数据:
String content="您好";
Intent data=new Intent();
data.putExtra("data",content); //给data添值,其参数类似Map里的<key,value>
setResult(2,data);
ps:finish()结束当前页面