2013-04-20 54 views
0

我有一个TabActivity,并且我想要重新创建活动,并访问标签页(调用每次访问的内容onCreate())。怎么样 ?如何在每次访问标签时重新创建活动

+1

您可以使用onResume()方法。它会每次加载它的包含:) – Lucifer 2013-04-20 09:43:39

+0

使用'Intent.FLAG_ACTIVITY_NEW_TASK'完成当前活动并调用您的活动意图 - 请参阅下面的回答 – Trinimon 2013-04-20 09:55:46

回答

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

干杯!

+1

嘿下来选民 - 这绝对是工作,所以你的问题在哪里? – Trinimon 2013-04-20 09:53:56

+0

你有没有使用标签?检查此问题http://stackoverflow.com/questions/15967384/activity-in-tabactivity-doesnt-run-oncreate-method-when-clicked-second-time/15967633#15967633 – Pragnani 2013-04-20 10:02:04

+0

我已撤消您的downvote,因为它被接受OP – Pragnani 2013-04-20 10:18:09

1

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

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 

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

+0

让我知道downvote的原因...这应该工作..检查我以前的答案链接供参考..我从不关心downvote – Pragnani 2013-04-20 09:58:43

+0

我测试它基于http://jayxie.com/mirrors/android-sdk/resources/tutorials/views/hello-tabwidget.html的例子;出于某种原因,它似乎实际上工作,但这不符合规范(见http://developer.android.com/reference/android/content/Intent.html)。无论如何,我不敢依靠它(不幸的是,我不能拒绝我的downvote)... – Trinimon 2013-04-20 10:22:50

+0

@Trinimon我问你可以使用'clear_top'标志,正如你所说有一个规范,我拥有说,但我忘了包括'没有',改变了含义..:P它最初是开始像'没有说明..' – Pragnani 2013-04-20 10:55:45

2
public void onResume() 

这个方法被调用每一个活动来到前台时间。因此,所有你需要做的是重写此方法

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

要了解更多关于活动的生命周期看这个document

现在你想的onCreate每次打电话,看来你有一些初始化任务每次灵活性来到前台。所以我的建议是在onResume中使用初始化的东西,而不是onCreate。

+1

但这不叫创onrere – Pragnani 2013-04-20 09:51:31

+0

为什么你需要打电话oncreate? ? – stinepike 2013-04-20 09:53:45

+0

他的要求是重新开始他的活动。意味着他希望通过选择标签来恢复活动时创建执行。 – Pragnani 2013-04-20 09:55:10

相关问题