ActionBarDrawerToggle 无法应用于 Android.support.v7.widget.Toolbar

ActionBarDrawerToggle cannot be applied to Android.support.v7.widget.Toolbar

我一直收到错误消息,说 ActionBarDrawerToggle 不能应用于 v7.widget.Toolbar,因为我查看了其他人如何解决类似问题,他们现在都支持库文件,但由于某种原因错误并没有消失.

错误说 ActionBarDrawerToggle() in ActionBarDrawerToggle cannot be applied to android.support.v7.widget.Toolbar then under actual argument R.id.drawable_ic_drawer (int)

import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.content.SharedPreferences;
import android.content.res.Configuration;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
import android.support.v7.widget.Toolbar;

 mDrawerToggle = new android.support.v7.app.ActionBarDrawerToggle(
                getActivity(),                    /* host Activity */
                mDrawerLayout,                    /* DrawerLayout object */
                R.drawable.ic_drawer,             /* nav drawer image to replace 'Up' caret */
                R.string.navigation_drawer_open,  /* "open drawer" description for accessibility */
                R.string.navigation_drawer_close  /* "close drawer" description for accessibility */
        ) {

据说出错的部分是R.drawer.ic_drawer。我该如何解决?

ActionBarDrawerToggle 构造方法如下

android.support.v7.app.ActionBarDrawerToggle.ActionBarDrawerToggle(Activity activity,
DrawerLayout drawerLayout, 
Toolbar toolbar, 
int openDrawerContentDescRes, 
int closeDrawerContentDescRes)

您传递的是 R.drawable.ic_drawer 可绘制对象而不是工具栏,这就是您收到此错误的原因。

创建一个工具栏并将其添加为操作栏并将此工具栏传递给此构造函数。

另一种解决方法是导入 import android.support.v4.widget.DrawerLayout 而不是 import android.support.v7.widget.DrawerLayout

根据此处的 google 文档:http://developer.android.com/reference/android/support/v4/app/ActionBarDrawerToggle.html