兩個activity傳遞數據和返回數據時,請求方的onActivityResult始終無響應,通過debug調試模式也沒見調用該方法。查看了各種配置和程序代碼,均未發現有錯誤之處。後來仔細閱讀API說明,恍然大悟,原來是調用startActivityForResult的參數問題,即調用時這樣:
startActivityForResult(intent, 0);
是第二個參數的問題,該參數必須大於0才能在返回值,並激活onActivityResult方法。
我最開始是用的一個activity默認的常量:RESULT_OK,跟蹤了代碼後發現,該常量的值爲-1,當然沒法激活 onActivityResult方法了,隨後隨便修改爲一個大於0的整數,程序即通跑成功。
startActivityForResult(intent, 1); //這樣就行了
API描述:
@requestCode If >= 0, this code will be returned in onActivityResult() when the activity exits.