首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Android NavigationView Menu Item 點擊不自動取消選中:checkableBehavior=none 或手動 setChecked(false)

     編輯:程式設計疑難解答

現象

NavigationView 中 menu 的 group 設置 checkableBehavior="single",點擊 Item 後長期高亮,不自動恢復。

方案 1:XML 修改(最簡)

<group android:checkableBehavior="none">
    <item ... />
</group>

取消單選模式,Item 不再保持勾選狀態。

方案 2:代碼手動取消

navigationView.setNavigationItemSelectedListener(item -> {
    // 業務邏輯...
    item.setChecked(false); // 立即取消高亮
    return true;
});

方案 3:僅特定 Item 不保持選中

navigationView.getMenu().findItem(R.id.drawer_favourite)
    .setOnMenuItemClickListener(item -> {
        item.setChecked(false);
        return false; // 繼續分發給 OnNavigationItemSelectedListener
    });

根據業務需求選擇:全局不保持選中用方案 1,精細控制用方案 2/3。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved