这就是问题所在。我有一个应用程序,我想按下一个按钮,启动一个显示项目列表的新活动,允许用户选择任意数量的项目,单击提交并将该数据发送到调用新活动的原始活动物品清单。这是基本结构:
Activity A -> Activity B (select items, press submit) -> [already running] Activity A (receive sent items)
我来回发送数据没有问题。我确实遇到的问题是,当我尝试重新启动 Activity A 时,它会通过 Activity 的onCreate()
方法。我不喜欢这样做,因为我希望能够在onCreate()
方法中预先设置所有内容,然后通过方法补充已经存在的内容onRestart()
。我不确定为什么onCreate()
每次重新启动活动时都会调用该方法。我的猜测是我在活动 B 中调用活动的方式:
Intent intent = new Intent(this, PatientChartActivity.class);
intent.putExtra("checked", checked);
intent.putStringArrayListExtra("checked", checked);
startActivity(intent);
我一直在查看 Android 活动生命周期,但我不确定为什么它不会自动返回到以前的活动,除非我确实必须强制它这样做。我确信的一件事是正在运行的活动没有被破坏。我在方法中输入了一条Log.v(TAG, "DESTROY")
日志消息,以onDestroy()
确保它不会破坏活动。我尝试在启动活动时使用不同的标志来告诉系统我要恢复以前启动的活动,但这些标志似乎也不起作用。我可能会误解他们。我已经对这个主题进行了广泛的研究,但我发现的解决方案都没有帮助。这里是我发现的一个问题,似乎与我的相同,但似乎并没有解决我正在寻找的问题。我还查看了以下链接以了解解决此问题的其他可能途径,但没有奏效。
http://www.droidnova.com/use-intents-to-start-other-activities,76.html
http://www.warriorpoint.com/blog/2009/05/24/android-how-to-switch-between-activities/