是否可以两次启动相同的活动并保存其状态?

时间:2015-02-01 15:25:31

标签: android android-layout android-intent android-activity

我有一个应用程序,当闹钟响起时,我开始一个新的屏幕(活动)。根据警报,此屏幕将具有不同的颜色和文本,并且当用户按下按钮时将发送通知。

出现以下情况的问题:

  • 闹钟设置为12:00,屏幕颜色为蓝色
  • 另一个警报设置为12:02,屏幕颜色为红色

如果用户没有按下第一个警报的按钮,并且它是第二个警报的时间,则前一个屏幕(蓝色)保持在顶部,新屏幕(红色)从不显示。

首先,我想要的是,如果第二个闹钟响起而用户没有动作,第二个屏幕(红色)将出现在第一个屏幕的顶部(蓝色),直到用户按下按钮。然后,蓝屏将可见。

有人能想出一个很好的方法来实现这个目标吗?

提前谢谢!

修改

也许我不能清楚地解释自己。现在,我有一个单一活动,它会根据闹钟改变其外观(颜色和文字)。此活动消失了#39;当用户按下按钮并执行一些后台工作时。在此之前它工作正常,但是当两个警报接近时并且调用相同且仅活动时出现问题。在这种情况下,只显示一个彩色布局。 我期望发生的是两个彩色屏幕都显示出来。我不想实施不同的活动,因为那时我必须为每种颜色创建一个活动。

2 个答案:

答案 0 :(得分:0)

您不需要更多活动。要实现您的目标,您只需更改layout.xml的背景颜色或创建单独的布局。

答案 1 :(得分:0)

只要您希望蓝屏保留在后台并在第二个被丢弃后变为可见,那么您需要做的就是在触发第二个警报以调用新屏幕时创建新意图

Intent intent = new Intent(this, myColoredScreenActivity.class);
intent.putExtra("color", "red");
startActivity(secondIntent);

我相信这个新开始的活动(红色)应该位于前一个活动(蓝色)之上。

当用户使用红色屏幕完成时,只需拨打finish(),就会出现蓝屏。