Android startActivityForResult實(shí)例詳解
Android startActivityForResult實(shí)例詳解
startActivityForResult用于兩個activity之間的數(shù)據(jù)傳遞,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);
// 跳轉(zhuǎn)并要求返回值,0代表請求值(可以隨便寫,但一定要>=0)
第二步:Activity2中:setResult(int resultCode, Intent intent)回傳數(shù)據(jù)時采用setResult方法,并且之后Activity2中要調(diào)用finish方法。
Intent intent = this.getIntent();
Bundle bundle = intent.getExtras();
String bbb=bundle.getString("abc");//接收A的數(shù)據(jù)
bundle.putString("aaa", "back");//返回給A的數(shù)據(jù)
intent.putExtras(bundle);
this.setResult(Activity.RESULT_OK, intent);
//1、結(jié)果碼可以自定義但必須大于等于0,
//如果B子模塊可能有幾種不同的結(jié)果返回,
//可以用這個參數(shù)予以識別區(qū)分。還有個特殊的 RESULT_OK 值,沒有特殊情況用它就好了。
//返回碼可以是ESULT_CANCELED, RESULT_OK, or any custom values starting at RESULT_FIRST_USER。
//如果,調(diào)用的child activity失敗,這個parent activity 將會收到的返回碼是RESULT_CANCELED.
//2、intent為A傳來的帶有Bundle的intent,當(dāng)然也可以自己定義新的Bundle的intent
this.finish();
//Activity2調(diào)用finish()方法之后才能返回數(shù)據(jù)到Activity1
第三步:Activity1中:返回數(shù)據(jù),重寫onActivityResult(int requestCode, int resultCode, Intent intent)
@Override
protected 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();
}
}
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
Android中監(jiān)聽Home鍵的4種方法總結(jié)
這篇文章主要介紹了Android中監(jiān)聽Home鍵的4種方法總結(jié),本文講解了onSaveInstanceState方法、onUserLeaveHint方法、ACTION_CLOSE_SYSTEM_DIALOGS、framework PhoneWindowManager.java等4種方法,需要的朋友可以參考下2015-04-04
Android中AlertDialog 點(diǎn)擊按鈕后不關(guān)閉對話框的功能
本篇文章主要介紹了Android中AlertDialog 點(diǎn)擊按鈕后不關(guān)閉對話框的功能,非常具有實(shí)用價值,需要的朋友可以參考下2017-04-04
簡單實(shí)現(xiàn)Android端搜索框示例詳解
這篇文章主要為大家介紹了簡單實(shí)現(xiàn)Android端搜索框示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
解決android studio 3.0 加載項目過慢問題--maven倉庫選擇
這篇文章主要介紹了android studio 3.0 加載項目過慢問題解決方案---maven倉庫選擇,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-11-11
Android ChipGroup收起折疊效果實(shí)現(xiàn)詳解
這篇文章主要為大家介紹了Android ChipGroup收起折疊效果實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
Android重力傳感器實(shí)現(xiàn)滾動的彈球
所謂傳感器能夠探測如光、熱、溫度、重力、方向 等等的功能,本文給大家介紹Android傳感器應(yīng)用之重力傳感器實(shí)現(xiàn)滾動的彈球,對android重力傳感器相關(guān)知識感興趣的朋友一起看看吧2015-12-12
Android原生實(shí)現(xiàn)多線程斷點(diǎn)下載實(shí)例代碼
本篇文章主要介紹了Android原生實(shí)現(xiàn)多線程斷點(diǎn)下載實(shí)例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05

