真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何進(jìn)行Activity的啟動(dòng)與關(guān)閉-創(chuàng)新互聯(lián)

如何進(jìn)行Activity的啟動(dòng)與關(guān)閉,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

創(chuàng)新互聯(lián)成立于2013年,我們提供高端重慶網(wǎng)站建設(shè)、成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、網(wǎng)站定制、營(yíng)銷型網(wǎng)站建設(shè)、小程序設(shè)計(jì)、微信公眾號(hào)開發(fā)、成都網(wǎng)站營(yíng)銷服務(wù),提供專業(yè)營(yíng)銷思路、內(nèi)容策劃、視覺設(shè)計(jì)、程序開發(fā)來完成項(xiàng)目落地,為水電改造企業(yè)提供源源不斷的流量和訂單咨詢。

  一:?jiǎn)?dòng)


  1:直接啟動(dòng)  (startActivity)

  ◆首先聲明Intent對(duì)象指定啟動(dòng)源及啟動(dòng)目標(biāo),然后讓Intent對(duì)象作為startActivity方法的參數(shù)完成啟動(dòng)。


  ◆實(shí)現(xiàn):


Intent i = new Intent(MainActivity.this,Act2.class);//啟動(dòng)源,啟動(dòng)目標(biāo)
startActivity(i);   //直接啟動(dòng)的方法

  2:攜值啟動(dòng) (startActivity)

  ◆首先聲明Intent對(duì)象指定啟動(dòng)源及啟動(dòng)目標(biāo),調(diào)用Intent對(duì)象的putExtra方法,以鍵值對(duì)的形式攜帶數(shù)據(jù),然后讓Intent對(duì)象作為startActivity方法的參數(shù)完成啟動(dòng)

  ◆實(shí)現(xiàn):

  (1)主Activity


Intent i = new Intent(啟動(dòng)源.this,啟動(dòng)目標(biāo).class
);
                i.putExtra("鍵的名稱", "值");
                startActivity(i);

 (2)目標(biāo)Activity


String val = getIntent().getStringExtra("鍵的名稱");//取得傳過來的值

  3:帶返回值的啟動(dòng) (startActivityForResult)


  在某些場(chǎng)景下,我們需要從A界面跳轉(zhuǎn)攜帶數(shù)據(jù)到B界面,在B界面做一些處理后,在帶著返回值回到A界面已完成相應(yīng)操作,這是我們需要帶返回值的啟動(dòng)。

  ◆具體過程如下:


  (1)主Activity,創(chuàng)建Intent對(duì)象,指明啟動(dòng)源及啟動(dòng)目標(biāo)

  (2)主Activity,調(diào)用Intent對(duì)象的putExtra方法,以鍵值對(duì)的形式攜帶數(shù)據(jù)

  (3)主Activity,調(diào)用startActivityForResult方法,參數(shù)有兩個(gè),第一個(gè)為Intent對(duì)象,第二個(gè)為requestCode,為int類型,為了判斷是哪個(gè)界面觸發(fā)的動(dòng)作

  (4)目標(biāo)Activity,創(chuàng)建空的Intent對(duì)象,調(diào)用putExtra方法,以鍵值對(duì)的形式儲(chǔ)存數(shù)據(jù)

  (5)目標(biāo)Activity,準(zhǔn)備數(shù)據(jù),此時(shí)只是準(zhǔn)備數(shù)據(jù),還沒有傳送,只有finish界面之后才觸發(fā)啟動(dòng)。setResult方法,兩個(gè)參數(shù),第一個(gè)resultCode,標(biāo)志是那個(gè)界面返回的結(jié)果,第二個(gè)參數(shù)Intent對(duì)象

  (6)目標(biāo)Activity,終止目標(biāo)Activity,finish方法執(zhí)行之后,出發(fā)了返回值啟動(dòng)

  (7)主Activity,重寫onActivityResult方法,通過對(duì)參數(shù)值的比較,來執(zhí)行不同的操作

  ◆具體實(shí)現(xiàn)

  (1)主Activity通過按鈕實(shí)現(xiàn)返回值啟動(dòng)


public class MainActivity extends Activity {
    private Button button;//聲明按鈕
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button = (Button) findViewById(R.id.button1);//根據(jù)id查找按鈕
        button.setOnClickListener(new OnClickListener() {//添加監(jiān)聽
                                                                                                                                 
            @Override
            public void onClick(View arg0) {
                Intent i = new Intent(MainActivity.this,Act2.class);//定義Intent對(duì)象,指明源于目標(biāo)
                                                                                                                                     
                startActivityForResult(i, 1);       //帶返回值的啟動(dòng)方式    
            }
        });
    }
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        switch (requestCode) {//判斷是那個(gè)界面返回的動(dòng)作
        case 1:
            switch (resultCode) {//判斷是哪個(gè)返回值
            case 1:
                System.out.println(data.getStringExtra("act2"));
                break;
            default:
                System.out.println("resultCode值不匹配");
                break;
            }
                                                                                                                                 
            break;
        default:
            System.out.println("requestCode值不匹配");
            break;
        }
        super.onActivityResult(requestCode, resultCode, data);
    }
                                                                                                                         
}

  (2)目標(biāo)Activity

public class Act2 extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.act2);
        Intent i = new Intent();//空Intent對(duì)象
        i.putExtra("act2", "我是act2");//儲(chǔ)存數(shù)據(jù)
        setResult(1, i);//準(zhǔn)備數(shù)據(jù)
        finish();//終止Activity
                                                                                                                     
                                                                                                                     
    }
}

  ◆結(jié)果:在控制臺(tái)輸出返回來的值


08-21 13:34:50.777: I/System.out(451): 我是act2

  二:關(guān)閉


  1:關(guān)閉自身(finish)


  finish方法用來當(dāng)Activity完成所有任務(wù)且需要關(guān)閉的情況時(shí)調(diào)用。這個(gè)方法一旦被執(zhí)行,Activity將執(zhí)行生命周期中的onDestory方法,因此我們可以把資源回收的操作放在onDestory里,調(diào)用finish方法,間接的調(diào)用onDestory方法,已達(dá)到關(guān)閉Activity的目的。

  2:關(guān)閉其他Activity(finishActivity)


  finishActivity用來根據(jù)參數(shù)requestCode的值來決定關(guān)閉哪個(gè)Activity。能被該方法關(guān)閉的Activity可以有多個(gè),但是這些Activity必須由帶返回值的啟動(dòng)方式。

看完上述內(nèi)容,你們掌握如何進(jìn)行Activity的啟動(dòng)與關(guān)閉的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。


網(wǎng)站名稱:如何進(jìn)行Activity的啟動(dòng)與關(guān)閉-創(chuàng)新互聯(lián)
本文URL:http://weahome.cn/article/dgjpoi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部