如何在片段中获取ActionBarDrawerToggle对象?

时间:2014-07-18 04:48:47

标签: android android-fragments navigation-drawer

在我的主要活动中,ActionBarDrawerToggle对象存在。我必须禁用由另一个片段(例如.fragmentA)调用的特定片段(例如片段B)的导航抽屉,其中fragmentA已被MainActivity膨胀。怎么做?

2 个答案:

答案 0 :(得分:2)

将此方法添加到主活动中,并在切换片段时调用它以启用/禁用导航抽屉

public void enableNavigationDrawer(boolean isEnabled) {
    getActionBar().setDisplayHomeAsUpEnabled(isEnabled);
    getActionBar().setHomeButtonEnabled(isEnabled);
    if(isEnabled){
        mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);
    } else {
        mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
    } 
}

答案 1 :(得分:0)

第1步:

true

在你的主要活动中使用它,将此代码粘贴到上面的类中。

第2步:

转到你要隐藏导航抽屉的片段,进入interface DrawerLocker{ public void setDrawerLocked(boolean shouldLock); } 方法粘贴此代码

onCreateView()

步骤3:创建onDestroyView()方法如下:

  ((DrawerLocker)getActivity()).setDrawerLocked(true);

现在运行你的代码并看到:-),信用额度给另一个成员...我记得他的名字......他的回答帮助我解决了这个问题