卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

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í)傳遞數(shù)據(jù),可以使用Intent的putExtra()方法。如果只需要傳遞少量數(shù)據(jù),可以直接在啟動(dòng)Intent時(shí)添加額外的參數(shù):

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

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

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

三、獲取傳遞的值

在接收數(shù)據(jù)的另一個(gè)Activity中,可以通過getIntent().getExtras()方法獲取傳遞過來的Bundle對(duì)象,并從中獲取數(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ù)

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

  1. 從FirstActivity頁面跳轉(zhuǎn)到SecondActivity頁面時(shí),使用startActivityForResult()方法。
  2. 在FirstActivity頁面中重寫onActivityResult()方法,獲取來自SecondActivity頁面的數(shù)據(jù)。
  3. 在SecondActivity頁面上加入返回按鈕,點(diǎn)擊按鈕時(shí)設(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)擊事件
/*給上一個(gè)Activity返回結(jié)果*/
(RESULT_OK, intent);
/*結(jié)束本Activity*/
();
標(biāo)簽: