我有一个TabActivity
,我希望在访问该标签时重新创建活动(每次访问都调用onCreate()
的内容)。怎么样?
答案 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
中查看我的答案以供参考