【发布时间】:2012-12-10 15:07:48
【问题描述】:
我正在使用 ActionBarSherlock 和 ViewPagerIndicator 创建一个同时具有选项卡和列表导航的活动。
选项卡由 FragmentStatePagerAdapter 支持,并允许用户在应用程序的不同部分之间导航。列表导航允许用户切换他们当前所在选项卡的查看模式,例如如果他们正在查看搜索结果,他们可以在列表和网格模式之间切换。
我遇到的问题是,当我在选项卡之间滚动时,列表导航会间歇性地停止工作。我可以单击微调器,它会显示选项列表,但是当我选择其中一个时,微调器中的文本:
- 没有更新,
- onNavigationItemSelected() 没有被调用。
(出于某种原因,使用 FragmentPagerAdapter 而不是 FragmentStatePagerAdapter 似乎可以阻止问题频繁发生,但它仍然偶尔发生。)
有什么想法吗?
谢谢
【问题讨论】:
-
我遇到了同样的问题,除了我的 ViewPager 中只有一个视图,因此不会发生滑动。我的视图包含一个 GridView,当在它的适配器上调用 notifyDatasetChanged() 时,列表导航不再起作用。似乎 ActionBar 正在失去对 OnNavigationListener 的引用,但看不到如何。
-
我在将列表导航与选项卡结合使用时遇到了同样的问题。对我来说,我已将问题隔离到包含 SherlockListFragment 的选项卡上。一旦在选项卡中打开此片段,OnNavigationListeners 就会停止运行。如果我直接在列表导航中(不在选项卡中)有相同的片段,那么没有问题。
-
这可能会对您有所帮助:stackoverflow.com/a/11036562/969325
标签: android android-actionbar actionbarsherlock viewpagerindicator