Android onActivityResult中requestCode與resultCode區別

想要了解requestCode與resultCode的區別,我們需要先了解以下三個方法的用法:

  • startActivityForResult(Intent intent, Int requestCode)

  • setResut(int resultCode, Intent intent)

  • onActivityResult(int requestCode, int resultCode, Intent intent)



1、startActivityForResult(Intent intent, Int requestCode)

此方法是在啓動另一個Activity並等待其返回結果時調用的。

intent:是傳給另一個Activity的,這裏就不在解釋了。

requestCode:>= 0即可,是用於在onActivityResult()時區分是哪個Activity回傳的數據的。



2、setResut(int resultCode, Intent intent)

此方法是在被啓動的Activity中調用的。

resultCode:被啓動的Activity可能會有多種不同的結果返回,此值就是予以識別區分的,這裏有個特殊的RESULT_OK值,沒有特殊情況用它就好了。

intent:回傳給Activity的onActivityResult()。



3、onActivityResult(int requestCode, int resultCode, Intent intent)

此方法與startActivityForResult(Intent intent, Int requestCode)方法在同一個Activity中調用的。

這裏的三個參數與1、2中的參數是對應的,如果不對requestCode和resultCode識別區分的話,那麼onActivityResult就不會對不同的Activity返回結果做區分處理。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章