1. 程式人生 > >安卓開發——onActivityResult中requestcode與resultcode區別

安卓開發——onActivityResult中requestcode與resultcode區別

運用startActivityForResult(Intent intent,int RequestCode)用於啟動另一個activity並等待其返回的結果,毋庸置疑,intent用於啟動目標activity,而RequestCode的作用是什麼呢?
由於每個activity都可以啟動任意的子activity並等待結果,而結果處理函式只有一個onActivityResult(int requestCode, int resultCode, Intent intent),因此為了區別請求的activity,android將每個請求設定一個大於等於0的int值,這就是requestcode。由此,在onActivityResult函式中即可利用requestCode區別開不同的返回結果。

onActivityResult中的resultCode引數對應於子模組中setResut(int resultCode, Intent intent)函式中的resultCode值,用於區別不同的返回結果(如請求正常、請求異常等)。
對應流程:

母模組startActivityForResult--觸發子模組,根據不同執行結果設定resucode值,最後執行setResut並返回到木模組--母模組觸發onActivityResult,根據requestcode引數區分不同子模組。