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

错误说 ActionBarDrawerToggle() 中的 ActionBarDrawerToggle 不能应用于 android.support.v7.widget.Toolbar 然后在实际参数 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 drawable 而不是工具栏,这就是您收到此错误的原因。

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

10-08 09:20