根据片段中的流程关闭activity中的导航抽屉?

Close the navigation drawer in the activity according to a process in the fragment?

我有一个带有导航抽屉菜单的 activity。我正在对此 activity 的其中一个片段进行关闭帐户处理。作为此过程的结果,我将用户发送到仪表板。因此,应该将用户对菜单的访问权限变为 off.Thought,关闭菜单图标的单击事件将是一个解决方案。我不知道该怎么做。或任何其他建议?

如果您使用过 DrawerLayout 小部件,那么有一种方法可以关闭抽屉,

drawer.closeDrawer(GravityCompat.START);

如果我没看错,你想禁止访问抽屉。为此,您只需要禁用打开它的按钮并在关闭时将其锁定。示例:

btnMenu.isEnabled = false
drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, GravityCompat.START)

如果你想从片段访问抽屉,你不能也不需要。

您需要的是一种方法,它可以在您的 activity 中执行所有操作,然后从您的片段中调用该方法。

示例:

在Activity中:

fun closeAndLockDrawer() {
    drawer.closeDrawer(GravityCompat.START);
    btnMenu.isEnabled = false
    drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED, GravityCompat.START)
}

在片段中:

(activity as YourActivity).closeAndLockDrawer()