在Android中来回切换活动

时间:2010-09-22 12:55:53

标签: android switch-statement

我从Android开始,并在多个活动之间切换时遇到了初学者问题。

我理解我可以通过调用一个intent然后使用setResult()返回两个活动。我想知道的是如何在多个活动之间跳转。具体来说,我想了解过程生命周期。我理解每个活动是如何在onCreated()中启动的,但是当我想回来时,我不确定如何实现onResume()或onRestart()。

所以基本上我有3个活动:Activity1,Activity2和Anctivity3。

我从Activity1开始,然后用Intent调用Activity2,Activity2调用Activity3。使用按钮。现在我想从Activity3回到Activity1。我也在这里做同样的事情。创建一个Intent并调用startActivity(Activity1_Intent)。但它会产生运行时错误。

我想我需要实现OnResume()或onRestart(),但我不知道该怎么做。在onCreate()中我创建了一个gridView,所以当我回来时,我是否需要再次制作这个gridView?

如果有人可以给出一个关于参考教程的小解释,那就太棒了。 非常感谢你。

2 个答案:

答案 0 :(得分:7)

在您的清单文件中将 android:launchMode =“singleTop”设置为您的Activity1。

然后调用您的Activity1使用:

Intent intent = new Intent(this, Activity1 .class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

FLAG_ACTIVITY_CLEAR_TOP:如果已设置,并且正在启动的活动已在当前任务中运行,则不会启动该活动的新实例,而是将关闭其上的所有其他活动,并将传递此意图作为新意图的(现在在顶部)旧活动。

FLAG_ACTIVITY_NEW_TASK:如果设置,此活动将成为此历史堆栈上新任务的开始。

http://developer.android.com/reference/android/content/Intent.html

答案 1 :(得分:1)

从Android 4.0开始,您只需在清单文件中设置 android:launchMode =“singleTask”,然后就不需要编写Java了。

相关问题