當我想要從開始活動中獲得結果時,我將使用方法startActivityForResult(Intent, int)
。有人可以解釋這裏的區別嗎?
如果我傳遞0(零)作爲第二個參數,並且如果傳遞-1(負一)作爲參數,它有什麼區別?
當我想要從開始活動中獲得結果時,我將使用方法startActivityForResult(Intent, int)
。有人可以解釋這裏的區別嗎?
如果我傳遞0(零)作爲第二個參數,並且如果傳遞-1(負一)作爲參數,它有什麼區別?
不同之處在於,如果您傳遞的值大於等於0,則此活動將在活動退出時返回到onActivityResult()中,並且只有當活動返回結果時纔會顯示窗口。
否則,它與調用startActivity(Intent)相同。 (活性不作爲發起子活動)
這就是我期待聽到的。謝謝! – sandalone
區別在於當onActivityResult
方法被回調時,其requestCode
參數將爲0或-1。
大聲笑,我知道。什麼是-1的含義?我認爲0等於RESULT.OK,但我不確定。 – sandalone
作爲一個特殊的情況下,如果在初始的onCreate(捆綁savedInstanceState期間調用startActivityForResult()與requestCode> = 0 )/ onResume()您的活動,那麼您的窗口將不會顯示,直到結果從已啓動的活動返回。這是爲了避免在重定向到其他活動時出現可見的閃爍。
如果您傳遞0,則當activity完成時,方法將在onActivityResult()中返回0。
如果傳遞-1,我不相信任何值將被傳遞(根據docs,價值纔會返回,如果它是> = 0)
是不是應該從文檔明顯? http://developer.android.com/reference/android/app/Activity.html#startActivityForResult(android.content.Intent,int) –