您的位置:首页 > 其它

关于intent,简单的小分析

2016-08-06 22:19 225 查看
关于Intent

隐式跳转需要在清单文件中为该activity设置intentfilter,需要编辑的是<action>和<category>;这两者都是非常重要的。<action>表示,活动响应的动作,<category>包含一些附加信息,一个Intent只能指定一个 action,但是能指定多个category。

晓介绍:intent.setData(Uri.parse(“http://www.csdn.com”));setData方法接收一个uri对象用于指定当前intent正在操作的数据!

 

对于向下传递数据

例如:

发送方:

Intent intent = new Intent(xxx.this,yyy.class);

Intent.putExtra(“extra_data”,”孙子兵法”);

startActivity(intent);

 

接收方:

Intent intent = getIntent();

String str = intent.getStringExtra(“extra_data”);//得到数据

浅析:putExtra 接收两个参数,第一个是键,用于后面从Intent中取值,第二个才是传递的数据

 

返回数据给上一层:

接收方:

Intent intent = new Intent(xxx.this,yyy.class);

startAcityForResult(intent,requestCode);

         另外重写onActivityResult方法

    @Override
    protected
void
onActivityResult(int
requestCode, int
resultCode, Intent
data) {
       // TODO Auto-generatedmethod stub
       super.onActivityResult(requestCode,
resultCode, data);
       if (requestCode==2&&resultCode==1) {
           String returnData =
data.getStringExtra("other");
           Log.i("wei",
returnData);
           tv.setText(returnData);
       }
    }

data 是携带返回数据的 Intent

发送方:

       Intentintent =
new
Intent();
       intent.putExtra("other",
data);
       setResult(1, intent);
       finish();

如果是发送方,点击了back键,这个时候完成数据返回的逻辑是 重写 onBackpressed方法:

    @Override
    public
void
onBackPressed() {
       // TODO Auto-generatedmethod stub
       Intent intent =
new
Intent();
       intent.putExtra("other",
data);
       setResult(1, intent);
       finish();
    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: