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

Java startActivity是否应始终在创建时运行已启动的活动?,java,android,Java,Android,我有一个主要活动和一个子活动。 主活动使用startActivity启动子活动,并在意图中传递对象。 子活动在其onCreate操作中将对象从意图中读取。 子活动更新对象,然后使用startActivity返回主活动,再次将更新的对象传递回主活动。 但是,不会调用main activities onCreate函数,因此它包含的用于读取传递对象的代码不会运行 进一步的调查表明,主活动onPause事件正在触发,即它仅在子活动运行时暂停,因此当子活动再次启动主活动时,它只是onresume 有人知

我有一个主要活动和一个子活动。 主活动使用startActivity启动子活动,并在意图中传递对象。 子活动在其onCreate操作中将对象从意图中读取。 子活动更新对象,然后使用startActivity返回主活动,再次将更新的对象传递回主活动。 但是,不会调用main activities onCreate函数,因此它包含的用于读取传递对象的代码不会运行

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

有人知道如果我将数据还原/存储活动移动到onResume和onPause事件,是否会有任何不利之处吗? 我没有使用onCreate savedInstanceState,应该吗

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

任何帮助都将不胜感激

  • 弗林克

根据子活动及其控制程度,更可能调用onResume()或onStart()

请看这一页,图表下方约有3/4

父对象从未被破坏,因此不必重新创建它。应该暂停一下。您可以像重写onCreate()一样重写onResume()和onStart()


编辑:在子活动中是否向用户提供了任何内容?听起来你实际上并不需要一个活动,你只需要一个可以调用方法的java类。

看看活动的生命周期


也可以考虑使用<代码>启动StcActuviyFiels启动子活动。

< P>我会检查<代码> StistActivity VoRead()<代码>方法,而不只是<代码> StistActivity()<代码> < /P> 这将为您提供一种将内容传递回调用活动的方法

发件人:

有时,您希望在活动结束时从活动中获得结果。例如,您可以启动一项活动,让用户在联系人列表中选择一个人;当它结束时,它返回被选中的人。为此,您可以使用第二个整数参数调用startActivityForResult(Intent,int)版本来标识调用。结果将通过onActivityResult(int,int,Intent)方法返回


为什么不从主活动中调用startActivityForResult并将数据返回到ActivityResult中?这是正常的做法。

谢谢,我试试看。但是,子活动如何将意图传递回主活动中的onActivityResult以供读取?此外,我如何传递回onActivityResult中使用的结果代码?请查看下面的示例:干杯,我现在看到了。但是,它使用的行是:setResult(RESULT_OK,“Lincoln”,stats);但是developer.android.com/reference/android/app/Activity.html#setResult(int)上的引用仅显示一个或两个参数。有什么想法吗?我猜FAQ中的文档已经过时了。有两个参数的那个会很好,因为它允许您创建一个返回的意图。您还可以使用eclipse来确定在特定构建中有哪些可用选项。我有一个变量负载(在一个类中),我将其传递给子活动,用户更新它们并将其发送回,因此我在子活动中有一个ui。如果包含子活动,图表会是什么样子?它将沿着这条线进行。注意绿色活动正在运行节点,该节点表示另一个活动位于该活动的前面。其他活动是您的子活动。只需覆盖onResume和onStart,并为它们中的每一个添加祝酒词,以说明调用了哪一个,您就会知道调用了哪一个。从生命周期来看,不清楚是什么真实事件导致调用各种onCreate等方法