setSupportActionBar(toolbar)导致程序崩溃闪退

Posted 温斯渤

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了setSupportActionBar(toolbar)导致程序崩溃闪退相关的知识,希望对你有一定的参考价值。

最近在做一个项目,使用了第三方的开源项目,主要是想实现android5.0之后推出的MaterialDesign的风格,但是代码已经写好了,发现一运行就闪退,所以就开始debug,发现问题出现在

1  Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
2   setSupportActionBar(toolbar);

很显然应该是在第二行出错了,再根据logcat上的日志:

This Activity already has an action bar supplied by the window decor. 
Do not request Window.FEATURE_SUPPORT_ACTION_BAR and set windowActionBar to false in your theme to use a Toolbar instead.

所以应当是与activity中的ActionBar有冲突,最后尝试多次知道,是要在清单文件中设置activity的style
(只要有用到这一行代码的activity都需要在该activity节点下定义style),可以按照如下设置

1 <activity android:name=".MainActivity"
2             android:label="test"
3             android:theme="@style/MaterialDrawerTheme.Light.DarkToolbar">
4             <intent-filter>
5                 <action android:name="android.intent.action.MAIN"/>
6 
7                 <category android:name="android.intent.category.LAUNCHER"/>
8             </intent-filter>
9         </activity>

这里指的就是第三行了,这样就不会造成程序崩溃了。

 

BOB

2016-09-06

 

以上是关于setSupportActionBar(toolbar)导致程序崩溃闪退的主要内容,如果未能解决你的问题,请参考以下文章

片段内的 setSupportActionBar

setSupportActionBar()方法报错

使用 setSupportActionBar 后删除 Toolbar 作为操作栏

Android学习——setSupportActionbar传入实例报错

Android 数据绑定 SetSupportActionBar

如何在 android studio 中使用 setSupportActionBar 功能?