我有一个问题,我有一个ActivityGroup使用TabActivities。在不同的活动之间切换一切都很好。然而,我有一些视图,我不希望有选项卡。他们的观点完全不同,我不想成为活动小组的一员。
目前,我正在通过在ActivityGroup
的startActivityFromChild
函数中执行常规startActivity(intent)
来离开活动组。
这是有效的,但是当我点击后退按钮时,虽然我返回到以前的TabActivity,但onCreate()
被调用两次。
我怎样才能正确地将TabActivity
保留为常规Activity
,然后正确地返回到它?
我不确定,但我敢打赌onCreate被故意调用了两次。也许一次是Group,然后是实际的Tab。这种行为真的会破坏你的代码吗?
可以将不想运行两次的代码移到单独的函数中。然后设置一个标志来决定是否/何时要运行它。
public class YourActivity {
private boolean i_feel_like_it = true;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
runIfYouFeelLikeIt();
}
private void runIfYouFeelLikeIt() {
if(i_feel_like_it) {
doIt();
i_feel_like_it = false;
}
}
}
修复。这个问题与getLocalActivityManager(). startactivity (newRecord)有关。id, newRecord.intent);在不同功能的活动组中被调用两次。