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

startActivity是否应始终在创建时运行已启动的活动?

  •  5
  • FrinkTheBrave  · 技术社区  · 14 年前

    我有一个主要活动和一个子活动。 主活动使用startActivity启动子活动,并在intent中传递对象。 子活动在其onCreate操作中从意图中读取对象。 子活动更新对象,然后使用startActivity返回主活动,再次将更新的对象传递回主活动。

    进一步的调查表明,主活动onPause事件正在触发,即它仅在子活动运行时暂停,因此当子活动再次启动主活动时,它只会onresume。

    我没有使用onCreate savedInstanceState,应该吗?

    在不使用数据库或那些首选项的情况下,如何在活动之间传递一组数据项?我应该使用数据库吗?我有大约20个相当独立的数据项。

    任何帮助都将不胜感激,

    • 弗林克
    4 回复  |  直到 14 年前
        1
  •  7
  •   Chris Thompson    14 年前

    我会去看看 startActivityForResult() 方法而不仅仅是 startActivity()

    这应该给你一个方法,把东西传回到调用活动。

    http://developer.android.com/reference/android/app/Activity.html :

        2
  •  1
  •   Asahi    14 年前

    看看活动生命周期 here

    另外,考虑使用 StartActivityForResult .

        3
  •  0
  •   Community CDub    8 年前

    它更可能调用onResume()或onStart(),具体取决于子活动及其控制程度。

    请看这一页,图中大约有3/4的部分。

    http://developer.android.com/guide/topics/fundamentals.html alt text

    父对象永远不会被破坏,所以它不必重新创建。应该暂停一下。可以像onCreate()一样重写onResume()和onStart()。

    编辑:在子活动中是否有给用户的任何东西?听起来你实际上并不需要一个活动,你只需要一个java类,你可以在上面调用方法。

        4
  •  0
  •   fedj    14 年前