2015-08-14 100 views
16

我不明白RESULT_FIRST_USER的含義,價值或重要性,除了我自己的結果代碼必須大於1。有人請解釋嗎? RESULT_OK和RESULT_CANCELED對於英語用戶來說非常合理。但是android的世界裏有什麼是RESULT_FIRST_USER?所有單證說,大約是有人請解釋RESULT_FIRST_USER

Start of user-defined activity results. 

回答

3

當你完成一個活動,你可以打電話給setResult(RESULT_CODE)數據發送回另一個活動。如果你不調用這個方法,默認值將是RESULT_CANCELLED(相當於0)返回數據的

例子:

Intent intent= new Intent(); 
intent.putExtra("data",data); 
setResult(YOUR_RESULT_CODE,intent); 
finish(); 
+3

然後他們爲什麼不把它叫做RESULT_EMPTY或類似的東西呢?爲什麼在這個世界裏FIRST_USER?這個名字聽起來像是有更多的故事。生態系統還是軟件工程中,我都不知道?當然,我很感謝你的回覆,但名字很可疑,你不覺得嗎? –

+1

我的猜測是他們添加了它,所以你知道什麼時候開始你的自定義值,因爲'RESULT_OK'是-1和'RESULT_CANCELED'是0 –

+26

@KatedralPillon:「爲什麼在世界FIRST_USER?」 - 這是一個相當常見的約定在管理整數返回碼時,在多方(例如圖書館作者和應用作者)可能想要定義這些代碼的情況下。我記得20-25年前在C/C++中看到了這一點。基本上,任何低於RESULT_FIRST_USER的值都是爲框架保留的,任何以RESULT_FIRST_USER開頭的值都可供應用程序使用,沒有碰撞風險。至少在Java級別上,你不會在Android中看到太多東西。 – CommonsWare

10

當活動結束時,它可以調用setResult(int)要返回數據其父母。

必須總是提供的結果代碼,其可以是標準的結果

  • RESULT_CANCELED(標準活動結果:操作取消常數值:0)
  • RESULT_OK(標準活動結果:操作成功,Constant Value:-1),或者從RESULT_FIRST_USER開始的任何自定義值(用戶定義的活動結果開始,常量值:1)。另外,它可以選擇返回一個包含任何其他想要的數據的Intent。

因此,底線,因爲你必須提供結果代碼的Android「說幫助你一點:請註明如果此活動的結果代碼爲OK取消或者你有你自己的,定製的,結果