我有一個您可以登錄的應用程式,因此我想根據您是否登錄來顯示不同的抽屜選單選項。到目前為止,我一直在嘗試,并且能夠在用戶未登錄時洗掉專案。但是,一旦執行登錄,我就很難恢復那些已洗掉的專案。這是我這樣做的條件:
navController.addOnDestinationChangedListener { _, destination, _ ->
if (destination.id == R.id.firstFragment ||
destination.id == R.id.loginFragment ||
destination.id == R.id.registerFragment
) {
//drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED)
navView.menu.removeItem(R.id.firstFragment) //This works
} else {
//drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED)
navView.menu.add(R.id.firstFragment) //This doesn't work
}
}
uj5u.com熱心網友回復:
如果您打算在登錄時重新添加所有專案,您不妨將它們隱藏起來。無論如何,它可能會更快。
這是允許您隱藏/取消隱藏給定選單項的解決方案。
隱藏導航抽屜選單項 - Android
該代碼navView.menu.add(R.id.firstFragment)將不起作用,因為Menu.add(int)正在尋找字串 id,而不是布局項 id。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/392503.html
