2011-06-03 90 views
0

我正在为Android 3.0+创建一个应用程序,该应用程序使用带有选项卡的操作栏进行导航。我有2个选项卡,每个负载ListFragment:Android - Honeycomb - 操作栏选项卡和片段

Tab 1 Tab2 
A  B 
C  D 

其中A & C是在选项卡1和B & d列表项是在标签2.

当前列表中的项目,如果你选择TAB2,然后项目B新的ListFragment被加载到Tab2中当前列表片段的顶部。按回来将您带回原始的Tab2内容。但是,如果您不按回,而是选择Tab1,则会在您在Tab 2中加载的新内容的顶部看到Tab1的内容。所以我猜测还有更好的方法来做到这一点。我想在每个Tab中使用多个片段来减少每个选项卡中的代码复杂性(例如onListItemSelected处理)。有没有使用多个片段的另一种方法?我也试图保存状态,但我不知道如何分辨从用户点击回来(然后我想要恢复状态)和用户已选择标签1,然后再次选择标签2(我想要恢复状态)。

感谢

+0

嗯,什么是C和d? – CommonsWare 2011-06-03 17:33:38

回答

0

我有碎片和标签的操作栏上的复杂性类似的斗争。在我看来,平板电脑的android仍然处于初级阶段,并且存在各种问题(如您的问题和我遇到的问题),这些问题将在未来几个月内解决。现在,我认为你只需要自己处理一些复杂性,而不是依赖Android框架。

要更直接地回答您的第一个问题,我认为您需要退后一步并在深入代码之前思考功能。我可以给你一个潜在的解决方案(在活动中手动跟踪你的片段,并通过ActionBar.TabListener接口简单地添加和删除片段)

另外,如果你想让用户从一个片段切换到另一个就像你在暗示的那样,也许不应该使用后面的功能。如果用户连续10次点击标签,会发生什么?你是否想要后退按钮让用户返回所有这些事件?我认为后退按钮应该只在导航系统非常顺序时使用,“后退”是一个简单的概念。查看所有使用制表符的Google应用程序以查看我在说什么。