Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 类型ActionBarDrawerToggle的方法setHomeAsUpIndicator未定义_Android_Android Actionbar_Navigation Drawer_Drawerlayout_Actionbardrawertoggle - Fatal编程技术网

Android 类型ActionBarDrawerToggle的方法setHomeAsUpIndicator未定义

Android 类型ActionBarDrawerToggle的方法setHomeAsUpIndicator未定义,android,android-actionbar,navigation-drawer,drawerlayout,actionbardrawertoggle,Android,Android Actionbar,Navigation Drawer,Drawerlayout,Actionbardrawertoggle,我试图使用support v4ActionBarDrawerToggle将操作栏指示器改为后退箭头,而不是导航抽屉的3个点。我还使用了v4片段、v4抽屉布局、v7操作栏和v7操作栏活动 我就是这样使用它的: 在onCreate中: DrawerLayout drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); mDrawerToggle = new ActionBarDrawerToggle(this, drawerLay

我试图使用support v4
ActionBarDrawerToggle
将操作栏指示器改为后退箭头,而不是导航抽屉的3个点。我还使用了v4
片段、v4
抽屉布局、v7
操作栏和v7
操作栏活动

我就是这样使用它的:

在onCreate中:

DrawerLayout drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerToggle = new ActionBarDrawerToggle(this, drawerLayout, R.drawable.ic_drawer, 
R.string.navigation_drawer_open, R.string.navigation_drawer_close);
当我尝试更改指示器时,在
ActionBarDrawerToggle
上调用
SetDrawerIndicator或Enabled
没有问题,但我在尝试调用
setHomeAsUpIndicator
时遇到上述错误。我只能在
getSupportActionBar()
上调用
setHomeAsUpIndicator

这会导致指示器的外观发生变化,但其功能却没有变化,这意味着我看到一个箭头作为指示器,但它会打开抽屉,而不是向上返回


如何获得
ActionBar
的外观和功能?

可以说,如果您有一个左抽屉,可以通过从左侧滑动打开导航,那么您应该始终将汉堡包放在左上方打开它。使您的导航层次结构有点混乱,因为它不遵守汉堡菜单工作方式的常见约定


第二,v4切换已被弃用,请使用v7。

您知道如何解决此问题:无法解析导入的android.support.v7.app.ActionBarDrawerToggle DV7包含ActionBarDrawerToggle。好吧,既然我似乎无法让它发挥作用,我就不能接受你的答案。如果你能回答这个问题,你可以尝试帮助我,并得到2个被接受的答案:你可能正在使用过时版本的支持库。当前版本为22.2.0;我敢打赌你是在21.0.0之前进口的东西。仔细检查您通过sdk管理器下载的版本。我的库获得了Android 5.1.1。。我想是22
public void turnOnActionBarUpIndicator()
{
    mDrawerToggle.setDrawerIndicatorEnabled(false);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setHomeAsUpIndicator(null); //this compiles
    mDrawerToggle.setHomeAsUpIndicator(null); //this line does not compile
}