2014-04-22 54 views
2

我有一个主要活动,我创建了一个方法来锁定/解锁drawer_layout并将其锁定在onCreate()方法中。当它被锁定时解锁drawer_layout

public void disableDrawer(Boolean bol){ 
    if(bol) { 
     mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_OPEN); 
     mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED); 
    }else{ 
     mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED); 
    } 
} 

和检查该用户登录或不我想解锁从片段抽屉后。 我试图做到这一点在onActivityCreated但抽屉仍处于锁定状态

MainActivity activity = ((MainActivity)getActivity()); 
activity.disableDrawer(false); 

总之

DrawerLayout.LOCK_MODE_UNLOCKED 

不解锁DrawerLayout ...

任何帮助,将不胜感激。

+0

您应该只使用DrawerLayout.LOCK_MODE_LOCKED_CLOSED或DrawerLayout.LOCK_MODE_LOCKED_OPEN,具体取决于您希望抽屉保持关闭还是打开。 – joao2fast4u

回答

0

您必须重新初始化切换。

toggle = new ActionBarDrawerToggle(this,mDrawerLayout,mToolbar,R.string.navigation_drawer_open,R.string.navigation_drawer_close); mDrawerLayout.addDrawerListener(toggle);

之后,它解锁。