Android Intent 应用

来源:互联网 发布:薛之谦像风一样知乎 编辑:程序博客网 时间:2024/06/03 23:28

Intent用法实例


1.无参数Activity跳转

Intent it = new Intent(Activity.Main.this, Activity2.class);startActivity(it);

2.向下一个Activity传递数据(使用Bundle和Intent.putExtras)

Intent it = new Intent(Activity.Main.this, Activity2.class);Bundle bundle=new Bundle();bundle.putString("name", "要传的信息");      //添加绑定数据it.putExtras(bundle);       // 将绑定的数据压入 intent中startActivity(it);            startActivityForResult(it,REQUEST_CODE);//对于数据的获取可以采用:Bundle bundle=getIntent().getExtras();String name=bundle.getString("name");

3.需要Activity返回结果的跳转(使用setResult,针对startActivityForResult(REQUEST_CODE,it)启动的Activity)

有返回值的跳转

startActivityForResult(intent,requestCode(请求标识));    onActivityResult(int requestCode(请求标识),int resultCode(结果标识),Intent data(数据))    //RESULE_OK可以作为结果标识        setResult(RESULT_OK, intent);

这里结果标识和请求标识,可以想做是打电话,A向B打电话,
A的电话号码就叫标识,B看到是好朋友A打的电话就接了,
A需要知道B的电话才能给B打,B的电话就可以看作是结果标识
(有点抽象,哈哈,例子不是重点,理解更重要)


4.回调上一个Activity的结果处理函数(onActivityResult) 不理解回调函数请点击

@Override    protected void onActivityResult(int requestCode, int resultCode, Intent data) {        // TODO Auto-generated method stub        super.onActivityResult(requestCode, resultCode, data);            if (requestCode==REQUEST_CODE){//根据结果码进行处理            if(resultCode==RESULT_CANCELED)                  setTitle("cancle");            else if (resultCode==RESULT_OK) {                 String temp=null;                 Bundle bundle=data.getExtras();                 if(bundle!=null)                    temp=bundle.getString("name");                 setTitle(temp);            }        }    }
0 0
原创粉丝点击