日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

【Android】startActivityForResult()与onActivityResult()与setResult()参数分析

發(fā)布時間:2025/3/21 Android 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Android】startActivityForResult()与onActivityResult()与setResult()参数分析 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、使用場景

  在一個主界面(主Activity)通過意圖跳轉(zhuǎn)至多個不同子Activity上去,當(dāng)子模塊的代碼執(zhí)行完畢后再次返回主頁面,將子activity中得到的數(shù)據(jù)顯示在主界面/完成的數(shù)據(jù)交給主Activity處理。這種帶數(shù)據(jù)的意圖跳轉(zhuǎn)需要使用activity的onActivityResult()方法。

(1)startActivityForResult(Intent?intent, int requestCode);

  ?第一個參數(shù):一個Intent對象,用于攜帶將跳轉(zhuǎn)至下一個界面中使用的數(shù)據(jù),使用putExtra(A,B)方法,此處存儲的數(shù)據(jù)類型特別多,基本類型全部支持。

  ?第二個參數(shù):如果> = 0,當(dāng)Activity結(jié)束時requestCode將歸還在onActivityResult()中。以便確定返回的數(shù)據(jù)是從哪個Activity中返回,用來標(biāo)識目標(biāo)activity。

  與下面的resultCode功能一致,感覺Android就是為了保證數(shù)據(jù)的嚴格一致性特地設(shè)置了兩把鎖,來保證數(shù)據(jù)的發(fā)送,目的地的嚴格一致性。

(2)onActivityResult(int requestCode, int resultCode,?Intent?data)

  第一個參數(shù):這個整數(shù)requestCode用于與startActivityForResult中的requestCode中值進行比較判斷,是以便確認返回的數(shù)據(jù)是從哪個Activity返回的。

  第二個參數(shù):這整數(shù)resultCode是由子Activity通過其setResult()方法返回。適用于多個activity都返回數(shù)據(jù)時,來標(biāo)識到底是哪一個activity返回的值。

  第三個參數(shù):一個Intent對象,帶有返回的數(shù)據(jù)。可以通過data.getXxxExtra( );方法來獲取指定數(shù)據(jù)類型的數(shù)據(jù),

(3)setResult(int resultCode,?Intent?data)

  在意圖跳轉(zhuǎn)的目的地界面調(diào)用這個方法把Activity想要返回的數(shù)據(jù)返回到主Activity,

  第一個參數(shù):當(dāng)Activity結(jié)束時resultCode將歸還在onActivityResult()中,一般為RESULT_CANCELED , RESULT_OK該值默認為-1。

  第二個參數(shù):一個Intent對象,返回給主Activity的數(shù)據(jù)。在intent對象攜帶了要返回的數(shù)據(jù),使用putExtra( )方法。

請求碼的作用????????????????

使用startActivityForResult(Intent intent, int requestCode)方法打開新的Activity,我們需要為startActivityForResult()方法傳入一個請求碼(第二個參數(shù))。請求碼的值是根據(jù)業(yè)務(wù)需要由自已設(shè)定,用于標(biāo)識請求來源。例如:一個Activity有兩個按鈕,點擊這兩個按鈕都會打開同一個Activity,不管是那個按鈕打開新Activity,當(dāng)這個新Activity關(guān)閉后,系統(tǒng)都會調(diào)用前面Activity的onActivityResult(int requestCode, int resultCode, Intent data)方法。在onActivityResult()方法如果需要知道新Activity是由那個按鈕打開的,并且要做出相應(yīng)的業(yè)務(wù)處理,這時可以這樣做:
?

@Override public void onCreate(Bundle savedInstanceState) {....button1.setOnClickListener(new View.OnClickListener(){public void onClick(View v) {startActivityForResult (new Intent(MainActivity.this, NewActivity.class), 1);}});button2.setOnClickListener(new View.OnClickListener(){public void onClick(View v) {startActivityForResult (new Intent(MainActivity.this, NewActivity.class), 2);}});@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) {switch(requestCode){case 1://來自按鈕1的請求,作相應(yīng)業(yè)務(wù)處理case 2://來自按鈕2的請求,作相應(yīng)業(yè)務(wù)處理}} }

結(jié)果碼的作用

在一個Activity中,可能會使用startActivityForResult()方法打開多個不同的Activity處理不同的業(yè)務(wù),當(dāng)這些新Activity關(guān)閉后,系統(tǒng)都會調(diào)用前面Activity的onActivityResult(int requestCode, int resultCode, Intent data)方法。為了知道返回的數(shù)據(jù)來自于哪個新Activity,在onActivityResult()方法中可以這樣做(ResultActivity和NewActivity為要打開的新Activity):

public class ResultActivity extends Activity {.....ResultActivity.this.setResult(1, intent);ResultActivity.this.finish(); } public class NewActivity extends Activity {......NewActivity.this.setResult(2, intent);NewActivity.this.finish(); } public class MainActivity extends Activity { // 在該Activity會打開ResultActivity和NewActivity@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) {switch(resultCode){case 1:// ResultActivity的返回數(shù)據(jù)case 2:// NewActivity的返回數(shù)據(jù)}} }

總結(jié)

以上是生活随笔為你收集整理的【Android】startActivityForResult()与onActivityResult()与setResult()参数分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产一区二区三区自拍 | 玩弄人妻少妇500系列视频 | 日本熟妇毛耸耸xxxxxx | 国产精品无码一区二区三区 | 一级黄色小视频 | 久久久香蕉 | √天堂 | 免费av不卡在线观看 | 麻豆一区二区在线 | 爱爱高潮视频 | 国产亚洲美女精品久久久2020 | 亚洲区一区 | 色多多在线视频 | 天天av天天干 | 六月丁香激情 | 一本一道久久综合狠狠老精东影业 | 国产成人精品一区二区三区无码熬 | 日韩一级片免费 | 欧美怡红院视频一区二区三区 | 免费黄色网页 | 天堂一区 | 国产麻豆剧传媒精品国产 | 国产一区二区三区亚洲 | 日本激情影院 | 国产精品色悠悠 | 综合国产在线 | 青青视频在线免费观看 | 粉嫩av一区二区三区天美传媒 | 中文字幕第一页在线 | 成人拍拍拍 | 秋霞在线视频 | 青草视频免费在线观看 | 精品www久久久久久奶水 | 国内偷拍av | 日本免费网站 | 网址在线观看你懂的 | 亚洲日本国产 | 亚洲乱码在线 | 色偷偷888欧美精品久久久 | 婷婷综合久久 | 国产看片网站 | 蜜桃av色偷偷av老熟女 | 成人福利在线视频 | 成人精品视频一区二区 | 亚洲色图另类 | 国产亚洲精品aaaaaaa片 | 图片一区二区 | 国产一区二区激情 | 开心激情站 | 亚洲欧洲成人精品久久一码二码 | 台湾极品xxx少妇 | 在线观看网址你懂的 | 国产精品高潮呻吟久久久久久 | 在线午夜电影 | 国产精品久久91 | 精品人妻一区二区三区香蕉 | 少妇第一次交换又紧又爽 | 综合狠狠| 国产精品无套 | 97超碰人人在线 | 亚洲精品久久久久久久久久久 | www.99精品| 午夜极品视频 | 午夜天堂精品久久久久 | 国产国语性生话播放 | 亚洲精品天堂在线 | 人妻丰满熟妇av无码区 | 操皮视频 | 久久偷看各类女兵18女厕嘘嘘 | 91亚洲精品久久久蜜桃借种 | 三级福利视频 | 亚洲最新偷拍 | 欧美一区二区三区久久久 | 尤物视频免费在线观看 | 日韩大片免费观看 | 午夜精品一区二区三区免费视频 | 日韩精品伦理 | 久久精品国产一区二区三区 | 欧美爱爱网站 | av在线毛片| www欧美精品 | 自拍偷拍色 | 日韩videos| 在线免费一区二区 | 日韩福利片在线观看 | 伊人222成人综合网 亚洲日本中文 | 三级免费网址 | 免费观看的毛片 | 一本色道久久88亚洲精品综合 | 夜夜操夜夜操 | 3d动漫精品啪啪一区二区三区免费 | 精品久久久久久久久久久久久久久久久久 | 亚洲 欧美 国产 另类 | 中国少妇av | 欧美一级一区 | 亚洲在线观看av | 国产精品99一区二区三区 | 国产午夜久久久 | 神秘马戏团在线观看免费高清中文 |