溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Android 學(xué)習(xí)筆記--android——Activity學(xué)習(xí)

發(fā)布時(shí)間:2020-07-07 03:05:40 來(lái)源:網(wǎng)絡(luò) 閱讀:438 作者:Samuel_humg 欄目:移動(dòng)開(kāi)發(fā)

Activity
     
      創(chuàng)建的三要素:
      1、創(chuàng)建的類要去繼承activity
      2、setContentView();應(yīng)用布局文件
      3、在清單文件中進(jìn)行配置
      android:name="com.example.ex_0310_01.MainActivity"
      (包名.類名)


1、
   A---->B
   調(diào)用startActivity(intent);
   A界面:
        //獲得一個(gè)意圖對(duì)象
        Intent intent = new Intent();
        intent.setClass(MainActivity.this, SecondActivity.class);        
        //傳遞附加消息  
        //以鍵值對(duì)的形式去傳遞消息
        //key:必須是字符串
        //value:基本數(shù)據(jù)類型,以及實(shí)現(xiàn)了序列化接口的對(duì)象
        intent.putExtra("key1", "你好");
        intent.putExtra("key2", true);
        //開(kāi)啟一個(gè)新的activity
        startActivity(intent);


   B界面:
        //獲取A界面?zhèn)鬟^(guò)來(lái)的意圖對(duì)象
        Intent intent = getIntent();
        //通過(guò)key去把意圖對(duì)象里的信息獲取到
        boolean extra = intent.getBooleanExtra("key3", false);
        String str = intent.getStringExtra("key1");


2、
    A---->B---->A
    A:
        // 獲得一個(gè)意圖對(duì)象
        Intent intent = new Intent();
        intent.setClass(MainActivity.this, SecondActivity.class);
        // 傳遞消息
        // 以鍵值對(duì)的形式去傳遞消息
        // key:必須是字符串
        // value:基本數(shù)據(jù)類型,以及實(shí)現(xiàn)了序列化接口的對(duì)象
        intent.putExtra("key1", "你好");
        intent.putExtra("key2", true);
        // 開(kāi)啟一個(gè)新的activity 并且等待消息返回
        startActivityForResult(intent, 0);

    
    B:
        Intent data = new Intent();
        data.putExtra("msg", "消息已收到");
        setResult(0, data );
        //關(guān)閉當(dāng)前界面
        finish();

    
   A:
        //接收B界面返回的消息
        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data)
        {   
            super.onActivityResult(requestCode, resultCode, data);
            String msg = data.getStringExtra("msg");
            mTextView.setText(msg);
        }


請(qǐng)求碼:
        A有兩個(gè)按鈕,都是跳轉(zhuǎn)到B,B界面處理完返回消息,
        就用請(qǐng)求碼進(jìn)行區(qū)分,是點(diǎn)擊了哪一個(gè)按鈕跳轉(zhuǎn)到B,然后
        返回A的
        startActivityForResult(intent , 請(qǐng)求碼);

結(jié)果碼:
        B有兩個(gè)按鈕,都是跳回到A,A界面就是通過(guò)結(jié)果碼來(lái)進(jìn)行判斷
        返回不同的處理信息
        setResult(結(jié)果碼, data );

對(duì)于消息的處理都是在onActivityResult這個(gè)方法中去實(shí)現(xiàn)的

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI