程序中各组件交互的方式
-------显示意图 指定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");
}
}
}