2011-09-18 90 views
0

我已经为应用程序设置一个Button在每一个活动回去HomeActivity但我要不会重新加载它的内容的要求,所以我需要重新使用的情况下,我已经有HomeActivity,我该怎么做?导航返回首页活动

回答

3

你应该使用:FLAG_ACTIVITY_REORDER_TO_FRONT

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

如果传递给Context.startActivity()的意图设置,这个标志将 导致启动的活动被带到其任务的前面如果历史堆栈已经运行,则为 。例如,考虑一个由四个活动组成的任务 :A,B,C,D。如果D调用startActivity() ,并带有解析为活动B的组件的Intent,则B 将被带到历史堆栈,结果为 order:A,C,D,B。如果还指定了 FLAG_ACTIVITY_CLEAR_TOP,则该标志将被忽略。

+0

要确保你把你的AsyncTask电话,或者其他任何你用它来初始化类中的onCreate()代替的onResume()。除非Android垃圾收集实例,否则活动应该立即加载。如果活动被垃圾收集,它可能会重新加载。 – dbaugh

+0

谢谢,我认为这会很复杂,你让我的一天:) –

+0

@dbaugh,这个FLAG与你完成()当前活动相同,并返回到上一个活动,是不是(约定)? –

1

我在我的活动中使用了FLAG_ACTIVITY_CLEAR_TOP作为主页按钮。如果您的HomeActivity已经在应用程序堆栈中,则此标志会导致关闭您的HomeActivity以上的所有活动。这取决于您是否需要将HomeActivity重新订购到前面(后退按钮会将您返回到您单击家中的活动),或者您想要关闭所有高于HomeActivity的活动(如点击返回,直到我在HomeActivity,在我的情况下返回按钮关闭我家的活动申请)。

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