0

我有一个TabActivity,并且我想重新创建带有已访问选项卡的活动(调用onCreate()每次访问的内容)。如何 ?

4

3 回答 3

2
public void onResume()

每次活动进入前台时都会调用此方法。所以你需要做的就是重写这个方法

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

要了解有关活动生命周期的更多信息,请参阅此文档

现在您想每次调用 onCreate ,似乎每次活动进入前台时您都有一些初始化任务。所以我的建议是使用onResume中的初始化东西而不是onCreate。

于 2013-04-20T09:46:42.663 回答
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实际上似乎也可以可能行不通,因为尽管它旨在带来现有的活动刚带来到前面(没有娱乐)。

看看这个了解更多。

干杯!

于 2013-04-20T09:50:30.737 回答
1

在开始每个选项卡的意图之前,将意图标志设置为“清除顶部”。

IE

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

检查我的答案以供参考在这个问题 activity-in-tabactivity-doesnt-run-oncreate-method-when-clicked-second-time

于 2013-04-20T09:44:18.633 回答