2016-02-27 76 views
0

我想这里描述http://developer.android.com/training/implementing-navigation/lateral.html实现与Android

我创建了一个操作栏按文档与final ActionBar actionBar = getActionBar();

不过我可以去创建一个刷卡刷卡观点看法动作栏问题下消息

显示java.lang.NullPointerException:尝试一个空对象上调用虚拟方法 '无效 android.app.ActionBar.setNavigationMode(int)的' 参考

它涉及到这条线actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

现在我已经确定了它很可能与不具有行动吧我的主题来做,看android:theme="@style/Theme.AppCompat.Light.NoActionBar">,所以我改变我的主题说android:theme="@style/Theme.AppCompat.Light">,但后来我得到以下消息:

java.lang.IllegalStateException:该活动已经有由窗口装饰供给的动作 巴。不要求 Window.FEATURE_SUPPORT_ACTION_BAR并设置windowActionBar为false 你的主题使用工具栏,而不是

,并在互联网上所有的答案说更改为非操作栏的主题,这给我的第一个错误再次。所以我实际上在圈子里四处走动。我想基本上有这个标签的操作栏,如文档中所述。

+0

保持没有行动栏的主题。确保将您的工具栏设置为支持操作栏。 – chRyNaN

+0

所以我切换到那个主题,但我得到了状态异常。我用最终的ActionBar actionBar = getActionBar()创建工具栏; – Wayneio

回答

0

这个主题已经有ActionBar

android:theme="@style/Theme.AppCompat.Light" 

,当然还有,你想与AppCompat主题使用旧ActionBar

所以,你将需要使用Theme.Holo为老ActionBar,或者如果你正在使用Theme.AppCompat,你需要与getSupportActionBar像这样使用它:

actionbar = getSupportActionBar(); 

检查这个问题:actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS) deprecated