2011-06-18 48 views
0

當我想要從開始活動中獲得結果時,我將使用方法startActivityForResult(Intent, int)有人可以解釋這裏的區別嗎?

如果我傳遞0(零)作爲第二個參數,並且如果傳遞-1(負一)作爲參數,它有什麼區別?

+0

是不是應該從文檔明顯? http://developer.android.com/reference/android/app/Activity.html#startActivityForResult(android.content.Intent,int) –

回答

3

不同之處在於,如果您傳遞的值大於等於0,則此活動將在活動退出時返回到onActivityResult()中,並且只有當活動返回結果時纔會顯示窗口。

否則,它與調用startActivity(Intent)相同。 (活性不作爲發起子活動)

+0

這就是我期待聽到的。謝謝! – sandalone

0

區別在於當onActivityResult方法被回調時,其requestCode參數將爲0或-1。

+0

大聲笑,我知道。什麼是-1的含義?我認爲0等於RESULT.OK,但我不確定。 – sandalone

1

documentation

作爲一個特殊的情況下,如果在初始的onCreate(捆綁savedInstanceState期間調用startActivityForResult()與requestCode> = 0 )/ onResume()您的活動,那麼您的窗口將不會顯示,直到結果從已啓動的活動返回。這是爲了避免在重定向到其他活動時出現可見的閃爍。

1

如果您傳遞0,則當activity完成時,方法將在onActivityResult()中返回0。

如果傳遞-1,我不相信任何值將被傳遞(根據docs,價值纔會返回,如果它是> = 0)

相關問題