Activity 当我使用 setSupportActionBar() 时崩溃

Activity creashes when i use setSupportActionBar()

我已经尝试将 AppTheme windowActionBar 设置为 false,将应用程序的主题设置为我的自定义主题以及 activity AndroidManifest.xml file,在 toolbar.xml 中设置主题但没有任何效果

我的实际代码在哪里:

工具栏:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
    android:layout_height="wrap_content">

</android.support.v7.widget.Toolbar>

Styles.xml:

<style name="CustomTheme" parent = "Theme.AppCompat.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>

AndroidManifest.xml :

<application>

        <activity android:name=".home.Home">

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>

Java class:

Toolbar toolbar;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_home_draw);
        setTitle("Coffee Hour");
        toolbar = (Toolbar) findViewById(R.id.tool_bar);
        setSupportActionBar(toolbar);

布局xml:

<include
    android:id="@+id/tool_bar"
    layout="@layout/toolbar"
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    />

style.xml

里面使用这个
<style name="MyTheme.NoActionBar">
    <!-- Both of these are needed -->
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
</style>

您扩展了 Theme.AppCompat.NoActionBar 主题。你不需要这条线 <item name="windowActionBar">false</item>

因为您正在使用样式 Theme.AppCompat.NoActionBar

<style name="CustomTheme" parent = "Theme.AppCompat.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>

并且您正在尝试使用这些行将数据设置到默认操作栏

setTitle("Coffee Hour");
setSupportActionBar(toolbar);

删除上面的行并尝试运行它。有效。