我坚持了一个问题。实际上,我的屏幕由两个选项卡组成。在每个选项卡下,我有4-4活动。在活动组的帮助下,我在单个选项卡中显示每个活动。
假设我在第一个选项卡中,它是活动的。在这个选项卡中,第二个活动(例如,第一个活动是列表活动,第二个活动给出第一个活动的结果)。
当我再次单击第一个选项卡时,它应该再次显示第一个活动,而不使用back按钮。?。
发布于 2011-01-24 13:54:43
我之前有过这个问题..。这是因为人们喜欢模仿iPhone的底线。Android应用程序不是这样工作的,使用Activity始终是用户界面设计不善的信号。
总之,我就是这么做的:
tabHost.setCurrentTabByTag(TAB_ID_MORE);
tabHost.getCurrentTabView().setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if( MoreGroupActivity.self != null ) {
MoreGroupActivity.self.reset();
}
tabHost.setCurrentTabByTag(TAB_ID_MORE);
}
});
tabHost.setCurrentTabByTag(TAB_ID_HOME);上面的代码不是泛型的,但会让您了解我找到的解决方法。让我解释一下:
tabHost.setCurrentTabByTag(TAB_ID_MORE); --我用它来选择当前的选项卡(在我的例子中,主选项卡是另一个选项卡,所以我不得不这样做,然后用tabHost.setCurrentTabByTag(TAB_ID_HOME);更改)。我的意思是,在我的例子中,唯一具有这种行为的选项卡是“更多”的tab.tabHost.getCurrentTabView().setOnClickListener,它允许您将侦听器放到选项卡中。正如您可能已经注意到的,在我的组活动中,在这种situation.MoreGroupActivity.self中,使用OnChangeTabListener不是一个选项,我有一个静态字段来引用自己的组活动。这类黑客在使用这个糟糕的approach.tabHost.setCurrentTabByTag(TAB_ID_MORE);时很常见,这会重置选项卡,以便它可以回到您的第一个活动。。
发布于 2011-01-24 14:37:30
将新的TabHost.TabSpec添加到TabHost时
使用
.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP| Intent.FLAG_ACTIVITY_SINGLE_TOP);
到相应的Intent
https://stackoverflow.com/questions/4782687
复制相似问题