【android】intent

时间:2020-04-06 23:26:43   收藏:0   阅读:37

程序中各组件交互的方式

-------显示意图 指定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");
}
}

}

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2
迷上了代码!