【问题标题】:Using ViewPager with Tabs without actionBar将 ViewPager 与没有 actionBar 的选项卡一起使用
【发布时间】:2014-03-14 16:27:48
【问题描述】:

我正在使用名为 EffectiveNavigation 的谷歌示例来创建带有标签的 ViewPager。问题是在清单中,对于我的主要活动,我已经设置了

android:theme="@android:style/Theme.Holo.NoActionBar.Fullscreen"

这样我的应用就没有 actionBar。因此,我在

处收到 NullPointerException
final ActionBar actionBar = getActionBar();//null from getActionBar()
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);//NullPointerException

现在,我只想创建一个带有标签的简单 ViewPager。而已。没什么大不了的。我正在使用谷歌示例,因为它是我发现的。 基本上在谷歌示例中,他们使用状态栏来保存选项卡。我还能如何握住标签?由于我对 ViewPagers 了解不多,因此任何关于如何修改 goggle 示例的好示例或说明都不会有太大帮助。 google 示例的链接是http://developer.android.com/training/implementing-navigation/lateral.html

statusBar 的简单解决方法可能就足够了。

【问题讨论】:

    标签: android android-fragments tabs android-viewpager


    【解决方案1】:

    实际上不推荐使用 ActionBar 来保存选项卡,因为即使您的应用确实有操作栏,它也可能导致 NullPointerException。好消息是 Design 包中的 TabLayout 使您可以轻松地创建带有选项卡的 ViewPager。只需在 Activity(或 Fragment)的 XML 中编写:

    <android.support.v4.view.ViewPager
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/pager"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    
        <android.support.design.widget.TabLayout
            android:id="@+id/tab_layout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="top" />
    
    </android.support.v4.view.ViewPager>
    

    一旦你有了 ViewPager 的适配器,在你的 Activity(或 Fragment)的 onCreate 方法中的 setContentView 方法之后包含这段代码:

    ViewPager viewPager = (ViewPager) findViewById(R.id.pager);
    viewPager.setAdapter(new MyPagerAdapter(getSupportFragmentManager()));
    
    TabLayout tabLayout = (TabLayout) findViewById(R.id.tab_layout);
    tabLayout.setupWithViewPager(viewPager);
    

    希望对你有所帮助;)

    【讨论】:

      【解决方案2】:

      我找到了解决办法。基本上在onCreate,在setContentView之前,我打电话

      requestWindowFeature(Window.FEATURE_ACTION_BAR);
      

      然后一切正常。

      【讨论】:

        【解决方案3】:

        对于其他到达这里发现@learner 的解决方案对他们不起作用的人,请查看http://thepseudocoder.wordpress.com/2011/10/13/android-tabs-viewpager-swipe-able-tabs-ftw/

        【讨论】:

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