【问题标题】:Android action bar list navigation stops workingAndroid操作栏列表导航停止工作
【发布时间】: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


【解决方案1】:

我认为不应该使用内置于 ActionBar 的标签导航。

您可以使用 ViewPager 中提供的 PagerTitle 界面。 http://developer.android.com/reference/android/support/v4/view/PagerTitleStrip.html

或者您可以使用以下优秀的库 http://viewpagerindicator.com https://github.com/astuetz/PagerSlidingTabStrip

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多