This person is basically running into the same problem I'm having但是,提供的解决方案没有帮助,也不适用于我,因为我的代码实际上是调用mDrawerToggle.sycnState()(在延迟的Runnable中)。
我也尝试将它添加到我的Fragment中的onActivityCreated,它似乎没有做任何事情。我不知道syncState究竟做了什么,我无法判断它是否正在同步打开状态(模板代码默认发生),然后在手动关闭抽屉时它再也不会同步。
我发布了代码但您可以通过在Android Studio(1.2.2)中创建一个新项目,选择导航抽屉活动,然后只是运行项目来测试这一点 - 无需进行任何更改。你会看到唯一的图标是< - 箭头。我甚至设置断点来检查ActionBarDrawerToggle对象,该对象实际上在其内存中有汉堡包图标,用于绘制图标,让我更加沉溺于我!
我在这里结束了我的智慧。
答案 0 :(得分:20)
我想出了一个解决方案,以防其他人遇到这个问题:
从
更改片段顶部的导入import android.support.v4.app.ActionBarDrawerToggle;
到
import android.support.v7.app.ActionBarDrawerToggle;
然后从
更改setUp中的代码mDrawerToggle = new 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 */
)
到
mDrawerToggle = new ActionBarDrawerToggle(
getActivity(), /* host Activity */
mDrawerLayout, /* DrawerLayout object */
R.string.navigation_drawer_open, /* "open drawer" description for accessibility */
R.string.navigation_drawer_close /* "close drawer" description for accessibility */
)