Android 动态更改导航抽屉中的图标

Android 动态更改导航抽屉中的图标,android,navigation,navigation-drawer,drawer,Android,Navigation,Navigation Drawer,Drawer,我当前正在尝试在发生某些事件时更改导航抽屉中的图标。有可能吗??我的意思是我改变了图标-这没问题: mDrawerToggle = new ActionBarDrawerToggle( this, mDrawerLayout, R.drawable.actionbar_settings, /* my icon - all Ok! */ R

我当前正在尝试在发生某些事件时更改导航抽屉中的图标。有可能吗??我的意思是我改变了图标-这没问题:

    mDrawerToggle = new ActionBarDrawerToggle(
            this,                  
            mDrawerLayout,         
            R.drawable.actionbar_settings,  /* my icon - all Ok! */
            R.string.text1,  
            R.string.text2  
    ) {};
我的意思是,如果某个事件触发,我想在另一个事件上更改此图标,该怎么办?如果我重复代码,但使用另一个图标-没有成功

    mDrawerToggle = new ActionBarDrawerToggle(
            this,                  
            mDrawerLayout,         
            R.drawable.new_icon_image,  /* bad news - nothing changes */
            R.string.text1,  
            R.string.text2  
    ) {};
非常感谢

可能吗

是的,但您需要调用
DrawerLayout.setDrawerListener
ActionBarDrawerToggle.syncState
来更新指示器并确保其已同步

下面是一个例子:

mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,
        R.drawable.new_icon_image, R.string.text1, R.string.text2);
mDrawerLayout.setDrawerListener(mDrawerToggle);
mDrawerToggle.syncState();

@用户3534709如果您对答案感到满意,则向上投票需要15个信誉:(