程序中各组件交互的方式
------- 显示意图 指定 activity 名称 --------
- Intent intent = new Intent(this, 第二个 activity.class);
- startActivity(intent);
------------------- 隐式意图 --------------
在配置文件, 默认只给第一个页面加过滤器
application 标签下
- <activity Android:name=". 第二个 activity">
- <intent-filter>
- <action Android:name="com.itheima.main2(自定义)" />
- // 动作
- <category Android:name="android.intent.category.DEFAULT(默认)" />
- // 给动作的条件
- </intent-filter>
- </activity>
- // 应用 Intent intent = new Intent(); intent.setAction("com.itheima.main2(与动作匹配)");
- intent.addCategory("android.intent.category.DEFAULT"(与 category 匹配)); startActivity(intent);
--------- 数据传递 -----------------------------
- Intent intent = new Intent(this,Activity02.class);
- intent.putExtra("取名 (key)", 传递的数据);
在 Activity02 中
- Intent intent = getIntent();
- // 若传的是 String
- String data = intent.getStringExtra(key);
-------- 数据回传 (回传给上个 activity)--------------------
- //Activity01.class 中
- Intent intent = new Intent(this,Activity02.class);
- // 需要回传开启方法不同
- startActivityForResult(intent,1);
- // 在 Activity02.class 中
- Intent intent = new Intent();
- intent.putExtra("key","value(这里假设 String 类型)");
- setResult(1,intent);
- // 在 Activity01.class 中
- protected void onActivityResult(int requestCode,int resultCode,Intent data){
- super.onActivityResult(requestCode,resultCode,data);
- if(requestCode==1){
- if(resultCode==1){
- Strib string = data.getStringExtra("key");
- }
- }
- }
来源: http://www.bubuko.com/infodetail-3495821.html