Activity之间的页面跳转(直接、带数据、带返回值的跳转)

一、直接跳转(可以实现对网页、拨号界面、发送邮件、短息界面的的直接跳转)

构造方法: Intent Intent = new Intent(String action,Uri uri);

  1. Intent Intent  = new Intent();
  2. startActivity(intent);

二、带数据的跳转(由MainActivity界面向OtherActivity传递数据)

①MainActivity:

        String data=”datas”;

        Intent Intent  = new Intent(MainActivity.this,OtherActivity.class);

        intent.putExtra(“dataName”,data);         //用putExtra来封装要传递的数据

        startActivity(intent);

②OtherActivity:

        Intent Intent = this.getIntent();    //获取父Activity传递给字Activity的Intent对象

        String datas = intent.getStringExtra(“dataName”);             //获取父Activity传递过来的数据

另一种写法:我喜欢直接用intent传递数据 , 不经过bundle来传递数据 . 其实这两种方式没有区别的 。

        Bundle bundle = this.getIntent().getExtras();

        String datas = bundle.getString(“dataName”);

三、带返回值的跳转(从A跳转到B可以携带或不携带数据,但由B跳转到A必须携带数据)

①由A至B可以由上面的步骤完成

    启动页面跳转则用    startActivityForResult()方法

     startActivityForResult(Intent Intent,int requestCode)

    其中intent           决定要启动的Activity

           requestCode      请求码     

②由B跳转至A必须在A中重载onActivityResult()方法,来获取B中返回来的值

      protected void onActivityResult(int requestCode, int resultCode,Intent data){

}

注:对于Activity之间的数据传递,他不仅能够传递简单的数据类型,来能传递非常复杂的数据类型;

Android五种数据传递方法汇总https://blog.csdn.net/rely_on_yourself/article/details/81539986

 

 

 

 

 

 

点赞