2016 - 2024

感恩一路有你

Activity之间跳转与传值

浏览量:4074 时间:2024-02-02 11:02:00 作者:采采

在Android开发中,Activity之间的跳转和数据传递是非常常见的操作。本文将介绍如何通过Intent类来实现Activity之间的跳转,并通过Bundle类来进行数据传递。

一、Activity跳转

Activity之间的跳转可以通过Intent类来实现,最常见的跳转代码如下:

Intent intent  new Intent(, );
startActivity(intent);

也可以使用以下代码:

Intent intent  new Intent();
(, );
startActivity(intent);

二、数据传递

如果需要在跳转页面时传递数据,可以使用Intent的putExtra()方法。如果只需要传递少量数据,可以直接在启动Intent时添加额外的参数:

Intent intent  new Intent();
(, );
intent.putExtra("Name", "ppy2790");
startActivity(intent);

如果需要传递大量数据,可以使用Bundle类来封装数据,然后将Bundle对象赋给Intent:

Intent intent  new Intent(, );
Bundle bundle  new Bundle();
bundle.putString("Name", "ppy2790");
bundle.putBoolean("IsMale", true);
intent.putExtras(bundle);
startActivity(intent);

三、获取传递的值

在接收数据的另一个Activity中,可以通过getIntent().getExtras()方法获取传递过来的Bundle对象,并从中获取数据:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView();
    Bundle bundle  ().getExtras();
    String name  ("Name");
    boolean isMale  ("IsMale");
}

也可以直接从Intent中获取数据:

String name  ().getStringExtra("Name");

四、页面跳转后返回并保留数据

有时候,在页面跳转之后,需要返回到之前的页面,并保留用户之前输入的信息。实现这个效果需要以下几步:

  1. 从FirstActivity页面跳转到SecondActivity页面时,使用startActivityForResult()方法。
  2. 在FirstActivity页面中重写onActivityResult()方法,获取来自SecondActivity页面的数据。
  3. 在SecondActivity页面上加入返回按钮,点击按钮时设置返回结果并结束当前Activity。
// FirstActivity中重写onActivityResult()方法
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
    switch(requestCode){
        case RESULT_OK:
            // 取得来自SecondActivity页面的数据,并显示到画面
            Bundle bundle  ();
            String name  ("Name");
            boolean isMale  ("IsMale");
    }
}
// SecondActivity中返回按钮点击事件
/*给上一个Activity返回结果*/
(RESULT_OK, intent);
/*结束本Activity*/
();

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。