有人可以解释这里的差异吗?

时间:2011-06-18 16:47:41

标签: android

当我想从开始活动获得结果时,我将使用方法startActivityForResult(Intent, int)

如果我将0(零)作为第二个参数传递,并且传递-1(负一个)作为参数,有什么区别?

4 个答案:

答案 0 :(得分:3)

不同之处在于,如果传递值> gt = = 0,则当活动退出时,此代码将在onActivityResult()中返回,并且在从已启动的活动返回结果之前,您的窗口将不会显示。

否则,它与调用startActivity(Intent)相同。 (活动不作为子活动启动)

答案 1 :(得分:1)

来自documentation

  

作为一种特殊情况,如果在活动的初始onCreate(Bundle savedInstanceState)/ onResume()期间使用requestCode> = 0调用startActivityForResult(),则在返回结果之前不会显示您的窗口从开始的活动。这是为了避免在重定向到另一个活动时出现明显的闪烁。

答案 2 :(得分:1)

如果传递0,则当活动完成时,该方法将在onActivityResult()中返回0。

如果您传递-1,我认为不会传递任何值(根据docs,只有在> = 0时才返回该值)

答案 3 :(得分:0)

不同之处在于,当onActivityResult方法被回调时,其requestCode参数将为0或-1。