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

时间:2015-03-30 06:40:30

标签: android navigation-drawer android-toolbar

我一直收到错误,说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。我该如何解决?

2 个答案:

答案 0 :(得分:9)

ActionBarDrawerToggle构造函数如下。

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

您正在传递R.drawable.ic_drawer drawable而不是工具栏,这就是您收到此错误的原因。

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

答案 1 :(得分:2)

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

根据谷歌文档:http://developer.android.com/reference/android/support/v4/app/ActionBarDrawerToggle.html