国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android startActivityForResult實例詳解

2019-10-23 18:29:19
字體:
來源:轉載
供稿:網友

Android startActivityForResult實例詳解

startActivityForResult用于兩個activity之間的數據傳遞,Activity1傳值給Activity2,Activity2再返回值給Activity1。

第一步:Activity1中:startActivityForResult(Intent intent, Int requestCode)

Intent intent = new Intent();intent.setClass(Activity1.this,Activity2.class);Bundle bundle = new Bundle();intent.putExtras(bundle);bundle.putString("abc", "bbb");startActivityForResult(intent, 0);// 跳轉并要求返回值,0代表請求值(可以隨便寫,但一定要>=0)

第二步:Activity2中:setResult(int resultCode, Intent intent)回傳數據時采用setResult方法,并且之后Activity2中要調用finish方法。

Intent intent = this.getIntent();Bundle bundle = intent.getExtras();String bbb=bundle.getString("abc");//接收A的數據bundle.putString("aaa", "back");//返回給A的數據intent.putExtras(bundle);this.setResult(Activity.RESULT_OK, intent);//1、結果碼可以自定義但必須大于等于0,//如果B子模塊可能有幾種不同的結果返回,//可以用這個參數予以識別區分。還有個特殊的 RESULT_OK 值,沒有特殊情況用它就好了。//返回碼可以是ESULT_CANCELED, RESULT_OK, or any custom values starting at RESULT_FIRST_USER。//如果,調用的child activity失敗,這個parent activity 將會收到的返回碼是RESULT_CANCELED.//2、intent為A傳來的帶有Bundle的intent,當然也可以自己定義新的Bundle的intentthis.finish();//Activity2調用finish()方法之后才能返回數據到Activity1

第三步:Activity1中:返回數據,重寫onActivityResult(int requestCode, int resultCode, Intent intent)

@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == 0 && resultCode == Activity.RESULT_OK) {  Bundle bundle = data.getExtras();  gameView.backString = bundle.getString("aaa");  Toast.makeText(this, backString, Toast.LENGTH_SHORT).show(); }}

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 凭祥市| 东乌珠穆沁旗| 尼勒克县| 濉溪县| 渑池县| 中牟县| 鸡东县| 永昌县| 会东县| 东乡族自治县| 合山市| 西吉县| 科技| 南昌市| 锡林浩特市| 通城县| 洪泽县| 灵台县| 张家港市| 巴里| 菏泽市| 花莲县| 汝阳县| 都江堰市| 饶阳县| 西藏| 罗甸县| 浮山县| 建湖县| 利川市| 贞丰县| 承德市| 阳东县| 新干县| 湟源县| 东乡| 蓬莱市| 游戏| 寿光市| 阿拉尔市| 潞西市|