2013-04-15 47 views
0

我有一个ActionBar 2+选项卡。最初我不希望任何选项卡被选中。在handsetTablet的横向上,它可以按预期工作,当debugging可以看到选定的选项卡是null。但是,在portrait中的手机上运行代码时,ActionBar将被堆叠,并且第一个标签看起来像被选中。调试显示TabListener中的onTabSelected永远不会被调用,并且在onCreateonResume期间选定的选项卡为空。第一个选项卡始终选择堆叠的ActionBar

getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 
getActionBar().addTab(getActionBar().newTab().setTabListener(tabListener).setIcon(R.drawable.tab_icon_1), false); 
getActionBar().addTab(getActionBar().newTab().setTabListener(tabListener).setIcon(R.drawable.tab_icon_2), false); 

回答

1

起初我不希望任何选项卡被选中。

这是不支持的,除非你没有选项卡。这也是一个奇怪的UI请求 - 我可以想到零个其他环境,其中一组标签没有选择。

+0

那么,它真的是一个单独的活动,显示应用程序的开始/主页。从那里用户可以看到选择哪些选项(标签)。当点击标签时,一个新的活动开始并选择适当的标签。当然,可以选择添加按钮而不是标签,嵌入布局或作为操作栏的选项,但决定是使它看起来像标签,以便它看起来与用户相同。有关如何解决问题的任何建议? 有趣的是,它工作正常,而我们只支持'不窄'布局。 – user2282819

+0

@ user2282819:“嗯,它真的是一个单独的活动,显示应用程序的开始/主页。” - 那么解决方案就是摆脱这种活动并首先将它们发送到有意义的地方。不要将用户发送到仅存在于其他活动中的活动。标签在这里也是一个不合适的UI隐喻:它们在同一个活动中显示不同的东西*,而不是表示完全不同的活动*。 – CommonsWare

+0

开始活动也用于显示大量信息,并使用选项卡作为快捷方式将用户带到真正的选项卡活动。我可以看到你的观点,即标签是起始页面中的UI隐喻,但是当它们被选中时,它们会在同一活动中显示同一数据集的不同剪切/透视图。如果你能指导我从起始页面使用什么UI隐喻的更好方向,我会非常感激。 – user2282819

相关问题