0

實際上我有一個問題,改變我的Android應用程序的材料設計。getSupportActionBar在類AppCompatActivity不能應用到android.support.v7.widget.Toolbar

我打電話getSupportActionbar但我總是收到錯誤

getSupportActionBar in class AppCompatActivity cannot be applied to android.support.v7.widget.Toolbar 

我的代碼是

import android.support.v7.app.AppCompatActivity; 
import android.support.v7.widget.Toolbar; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    mToolbar = (Toolbar) findViewById(R.id.toolbar); 

    getSupportActionBar(mToolbar); 

    getSupportActionBar().setDisplayShowHomeEnabled(true); 
} 

誤差以getSupportActionBar(mToolbar)拋出。

工具欄在toolbar.xml宣佈

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v7.widget.Toolbar 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:local="http://schemas.android.com/apk/res-auto" 
android:id="@+id/toolbar" 
android:layout_width="match_parent" 
android:layout_height="wrap_content" 
android:minHeight="?attr/actionBarSize" 
android:background="?attr/colorPrimary" 
local:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
local:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> 

會aweseome你有人可以幫我

+0

你的意思是:'setSupportActionBar(mToolbar)'? – tachyonflux

回答

6

它必須是setSupportActionBar(mToolbar)不getSupportActionBar(mToolbar)

+1

令人難以置信,我正在尋找小時的錯誤 - .- thx很多 – Stevetro

+1

必須小心,而Ctrl + v' :) – MilapTank

2

添加您的活動xml佈局代碼如下:

<android.support.v7.widget.Toolbar 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:minHeight="?attr/actionBarSize" 
    android:background="?attr/colorPrimary" 
    /> 

在y我們的活動的onCreate

這樣寫:

toolbar = (Toolbar) findViewById(R.id.toolbar); 

     if (toolbar != null) 
     { 
      setSupportActionBar(toolbar); 
      getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
      getSupportActionBar().setElevation(0); // or other 
     } 

希望這有助於。

0

如果(工具欄!= NULL){

 setSupportActionBar(toolbar); 
     getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
     getSupportActionBar().setHomeButtonEnabled(true); // or other 

}

這也爲我工作,我收到空指針引用。所以謝謝!

相關問題