成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

Activity之間跳轉(zhuǎn)與傳值

在Android開發(fā)中,Activity之間的跳轉(zhuǎn)和數(shù)據(jù)傳遞是非常常見的操作。本文將介紹如何通過Intent類來實(shí)現(xiàn)Activity之間的跳轉(zhuǎn),并通過Bundle類來進(jìn)行數(shù)據(jù)傳遞。 一、Activi

在Android開發(fā)中,Activity之間的跳轉(zhuǎn)和數(shù)據(jù)傳遞是非常常見的操作。本文將介紹如何通過Intent類來實(shí)現(xiàn)Activity之間的跳轉(zhuǎn),并通過Bundle類來進(jìn)行數(shù)據(jù)傳遞。

一、Activity跳轉(zhuǎn)

Activity之間的跳轉(zhuǎn)可以通過Intent類來實(shí)現(xiàn),最常見的跳轉(zhuǎn)代碼如下:

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

也可以使用以下代碼:

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

二、數(shù)據(jù)傳遞

如果需要在跳轉(zhuǎn)頁面時傳遞數(shù)據(jù),可以使用Intent的putExtra()方法。如果只需要傳遞少量數(shù)據(jù),可以直接在啟動Intent時添加額外的參數(shù):

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

如果需要傳遞大量數(shù)據(jù),可以使用Bundle類來封裝數(shù)據(jù),然后將Bundle對象賦給Intent:

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

三、獲取傳遞的值

在接收數(shù)據(jù)的另一個Activity中,可以通過getIntent().getExtras()方法獲取傳遞過來的Bundle對象,并從中獲取數(shù)據(jù):

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

也可以直接從Intent中獲取數(shù)據(jù):

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

四、頁面跳轉(zhuǎn)后返回并保留數(shù)據(jù)

有時候,在頁面跳轉(zhuǎn)之后,需要返回到之前的頁面,并保留用戶之前輸入的信息。實(shí)現(xiàn)這個效果需要以下幾步:

  1. 從FirstActivity頁面跳轉(zhuǎn)到SecondActivity頁面時,使用startActivityForResult()方法。
  2. 在FirstActivity頁面中重寫onActivityResult()方法,獲取來自SecondActivity頁面的數(shù)據(jù)。
  3. 在SecondActivity頁面上加入返回按鈕,點(diǎn)擊按鈕時設(shè)置返回結(jié)果并結(jié)束當(dāng)前Activity。
// FirstActivity中重寫onActivityResult()方法
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
    switch(requestCode){
        case RESULT_OK:
            // 取得來自SecondActivity頁面的數(shù)據(jù),并顯示到畫面
            Bundle bundle  ();
            String name  ("Name");
            boolean isMale  ("IsMale");
    }
}
// SecondActivity中返回按鈕點(diǎn)擊事件
/*給上一個Activity返回結(jié)果*/
(RESULT_OK, intent);
/*結(jié)束本Activity*/
();
標(biāo)簽: