应用工具栏时崩溃

我是Android编程新手。 当我将工具栏应用到我的应用程序中时遇到此问题,并在尝试运行应用程序时崩溃。 这里是代码:

ToolbarActivity.java package com.example.toolbar; import android.support.v7.app.ActionBarActivity; import android.support.v7.widget.Toolbar; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; public class ToolbarActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_toolbar); Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar); if (toolbar != null) { setSupportActionBar(toolbar); getSupportActionBar().setDisplayHomeAsUpEnabled(true); } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.toolbar, menu); return true; } } activity_toolbar.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <android.support.v7.widget.Toolbar xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/my_awesome_toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="?attr/actionBarSize" android:background="?attr/colorPrimaryDark" app:theme="@style/ThemeOverlay.AppCompat.ActionBar"> </android.support.v7.widget.Toolbar> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="page 1" /> </LinearLayout> 

这里是我的LogCat

 11-23 04:46:35.260: E/AndroidRuntime(1870): FATAL EXCEPTION: main 11-23 04:46:35.260: E/AndroidRuntime(1870): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.toolbar/com.example.toolbar.ToolbarActivity}: java.lang.IllegalStateException: This Activity already has an action bar supplied by the window decor. Do not request Window.FEATURE_ACTION_BAR and set windowActionBar to false in your theme to use a Toolbar instead. 11-23 04:46:35.260: E/AndroidRuntime(1870): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211) 11-23 04:46:35.260: E/AndroidRuntime(1870): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261) 11-23 04:46:35.260: E/AndroidRuntime(1870): at android.app.ActivityThread.access$600(ActivityThread.java:141) 11-23 04:46:35.260: E/AndroidRuntime(1870): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) 11-23 04:46:35.260: E/AndroidRuntime(1870): at android.os.Handler.dispatchMessage(Handler.java:99) 11-23 04:46:35.260: E/AndroidRuntime(1870): at android.os.Looper.loop(Looper.java:137) 11-23 04:46:35.260: E/AndroidRuntime(1870): at android.app.ActivityThread.main(ActivityThread.java:5103) 11-23 04:46:35.260: E/AndroidRuntime(1870): at java.lang.reflect.Method.invokeNative(Native Method) 11-23 04:46:35.260: E/AndroidRuntime(1870): at java.lang.reflect.Method.invoke(Method.java:525) 11-23 04:46:35.260: E/AndroidRuntime(1870): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 11-23 04:46:35.260: E/AndroidRuntime(1870): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 11-23 04:46:35.260: E/AndroidRuntime(1870): at dalvik.system.NativeStart.main(Native Method) 11-23 04:46:35.260: E/AndroidRuntime(1870): Caused by: java.lang.IllegalStateException: This Activity already has an action bar supplied by the window decor. Do not request Window.FEATURE_ACTION_BAR and set windowActionBar to false in your theme to use a Toolbar instead. 11-23 04:46:35.260: E/AndroidRuntime(1870): at android.support.v7.app.ActionBarActivityDelegateBase.setSupportActionBar(ActionB‌​arActivityDelegateBase.java:165) 11-23 04:46:35.260: E/AndroidRuntime(1870): at android.support.v7.app.ActionBarActivity.setSupportActionBar(ActionBarActivity.j‌​ava:92) 11-23 04:46:35.260: E/AndroidRuntime(1870): at com.example.toolbar.ToolbarActivity.onCreate(ToolbarActivity.java:19) 11-23 04:46:35.260: E/AndroidRuntime(1870): at android.app.Activity.performCreate(Activity.java:5133) 11-23 04:46:35.260: E/AndroidRuntime(1870): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 11-23 04:46:35.260: E/AndroidRuntime(1870): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175) 11-23 04:46:35.260: E/AndroidRuntime(1870): ... 11 more 

有人能告诉我什么是问题吗? 我已经将appcompat_v7与我的项目一起包括在内了。 谢谢。

Solutions Collecting From Web of "应用工具栏时崩溃"

你可以在你的logcat输出中看到答案:

不要请求Window.FEATURE_ACTION_BAR,在你的主题中设置windowActionBar为false来代替使用工具栏。

也尝试使用此链接和此链接

确保你使用这个:

  <item name="windowActionBar">false</item> 

在你的主题

如果您使用Theme.AppCombat支持Toolbar ,则应该在您的Activity使用Theme.AppCombat

styles.xml定义你的风格

 <style name="AppTheme" parent="Theme.AppCompat"> <item name="colorPrimary">@color/black</item> </style> <color name="black">#000000</color> 

并将其应用于AndroidManifest.xml整个应用程序(或Specyfic Activity

 <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > 

试试这个修复,它为我工作:

链接到StackOverFlow答案

同时检查以下使用AppCompat的链接:

AppCompat库的参考链接