roy*_*hew 5 android android-intent
我有两个活动(activity1和activiy2),每个活动都有一个按钮.在activity1中,我有一个很少选项的微调器.假设我从这个微调器中选择选项2,我单击activity1中的按钮,然后activity2启动.当我点击后退按钮时,activity1恢复,同样的选项2可见(我需要).现在的问题是,如果我的activity2已启动,并且我单击其中的按钮,则启动activity1.但是,它不是恢复以前的activity1状态,而是以刚刚创建的方式启动,并且之前的选择已更改.我怎么能得到像后退按钮一样的设施(不是回到以前的活动的设施,我的意思是自动恢复任何活动的先前状态),即使我再次开始活动.简单地说,如果再次访问活动,我需要知道如何维护活动的先前状态.
使用此代码,当单击按钮时,我会从一个活动转到另一个活动:
Intent intent=new Intent();
intent.setClassName(getApplicationContext(),"com.myapp.activityname");
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
请帮助我.我是android的初学者,所以如果有人给出答案,请解释一下.谢谢你的意见
roy*_*hew 11
我想我找到了答案.让我用简单的话说出我的所作所为,
假设我有两个活动activity1和activity2,我从activity1导航到activity2(我已经在activity2中完成了一些工作),然后通过单击activity1中的按钮再次返回到活动1.现在在这个阶段我想回到activity2,我想在上次离开activity2时看到我的activity2处于相同的状态.
对于上面的场景,我所做的是在清单中我做了一些像这样的更改:
<activity android:name=".activity2"
android:alwaysRetainTaskState="true"
android:launchMode="singleInstance">
</activity>
Run Code Online (Sandbox Code Playgroud)
在按钮点击事件的activity1中我做了这样的事情:
Intent intent=new Intent();
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
intent.setClassName(this,"com.mainscreen.activity2");
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
在按钮点击事件的activity2中我做了这样的事情:
Intent intent=new Intent();
intent.setClassName(this,"com.mainscreen.activity1");
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
现在将会发生的事情是,我们在activity2中所做的任何更改都不会丢失,我们可以在与之前离开的状态相同的状态下查看activity2.
我相信这是答案,这对我来说很好.
| 归档时间: |
|
| 查看次数: |
13758 次 |
| 最近记录: |