代码之家  ›  专栏  ›  技术社区  ›  Namratha

当onListItemClick()已经获得结果时,需要onActivityResult()

  •  0
  • Namratha  · 技术社区  · 16 年前

    我有一个扩展Activity的主类,它应该派生一个ListActivity并获取所做的选择。 所以我在类中有一个onListItemClick(),它扩展了ListActivity,ListActivity通过getItemAtPosition接受选择。

    此ListActivity由startActivityForResult启动。

    既然我已经在onListItemClick中获得了结果,为什么我需要onActivityResult()??它有什么作用?

    1 回复  |  直到 16 年前
        1
  •  0
  •   Janusz Daniel Rindt    16 年前

    在onListItemClick中处理该值时,该值只有派生的ListActivity知道。你可以用 setResult(int, Intent) 这样地:

    Intent resultIntent = new Intent;
    resultIntent.putExtra(CONSTANT_FOR_RESULT, selection);
    setResult(CONSTANT_FOR_SUCCESS, resultIntent)
    finish();
    

    这将使您的应用程序返回到第一个活动,如中所述 android documentation 将调用onActivityResult。现在,您可以从意图中提取所选内容,并在主要活动中使用它。

    只有当您想将在活动B中所做的选择传递回活动a时,才需要此机制。