如何在每次访问选项卡时重新创建活动

时间:2013-04-20 09:42:40

标签: android android-tabhost tabactivity

我有一个TabActivity,我希望在访问该标签时重新创建活动(每次访问都调用onCreate()的内容)。怎么样?

3 个答案:

答案 0 :(得分:2)

public void onResume()

每次活动到达前台时都会调用此方法。所以你需要做的就是覆盖这个方法

public void onResume(){
    super.onResume();
   // do your stuffs
}

要详细了解活动生命周期,请参阅此document

现在你想每次调用onCreate,每当acitivity进入前台时你似乎都有一些初始化任务。所以我的建议是使用onResume中的初始化内容而不是onCreate。

答案 1 :(得分:2)

你可以使用....

this.finish(); // this is instance of TabActivity

....关闭当前的一个并使用

创建一个新的意图
Intent intent = new Intent(this, TabActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK) 
startActivity(intent);

修改 事实上Intent.FLAG_ACTIVITY_CLEAR_TOP似乎也可以工作可能不会起作用,因为虽然它打算带来一个现有的活动只是把带到前面(没有重新创建)

查看this了解更多信息。

干杯!

答案 2 :(得分:1)

在开始每个标签的意图之前,将Intent标志设置为“clear top”。

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

在此问题activity-in-tabactivity-doesnt-run-oncreate-method-when-clicked-second-time

中查看我的答案以供参考