回答編集履歴
2
final修飾子の追加(旧Java用)
answer
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
> 1.NavigationViewで表示しているアイテムと同じアイテムを選択したら何もしない
|
2
2
|
|
3
|
-
NavigationUIの[ソース](https://android.googlesource.com/platform/frameworks/support/+/refs/heads/androidx-master-dev/navigation/navigation-ui/src/main/java/androidx/navigation/ui/NavigationUI.java?source=post_page---------------------------%2F%2F&autodive=0%2F#437)を見てみましたが、この中にMenuItemの選択チェック処理を挟むのはちょっと厳しそうなので、NavigationViewを拡張してアイテムの再選択時には通知しないクラスを実装するのが良さそうです。関連する[Issue](https://issuetracker.google.com/issues/124398826)でもBottomNavigationViewのような機能が必要かも?という話になっています。
|
3
|
+
NavigationUIの[ソース](https://android.googlesource.com/platform/frameworks/support/+/refs/heads/androidx-master-dev/navigation/navigation-ui/src/main/java/androidx/navigation/ui/NavigationUI.java?source=post_page---------------------------%2F%2F&autodive=0%2F#437)を見てみましたが、この中にMenuItemの選択チェック処理を挟むのはちょっと厳しそうなので、NavigationViewを拡張してアイテムの再選択時には通知しないクラスを実装するのが良さそうです。関連する[Issue](https://issuetracker.google.com/issues/124398826)でもBottomNavigationViewのような機能(OnNavigationItemReselectedListener)が必要かも?という話になっています。
|
4
4
|
以下のようなクラスを実装してNavigationViewの代わりに使ってみてください。
|
5
5
|
|
6
6
|
```java
|
@@ -8,7 +8,7 @@
|
|
8
8
|
// コンストラクタ...(略)
|
9
9
|
|
10
10
|
@Override
|
11
|
-
public void setNavigationItemSelectedListener(@Nullable OnNavigationItemSelectedListener listener) {
|
11
|
+
public void setNavigationItemSelectedListener(final @Nullable OnNavigationItemSelectedListener listener) {
|
12
12
|
if (listener != null) {
|
13
13
|
super.setNavigationItemSelectedListener(new OnNavigationItemSelectedListener() {
|
14
14
|
@Override
|
1
説明を追加
answer
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
> 1.NavigationViewで表示しているアイテムと同じアイテムを選択したら何もしない
|
2
2
|
|
3
|
-
NavigationUIの[ソース](https://android.googlesource.com/platform/frameworks/support/+/refs/heads/androidx-master-dev/navigation/navigation-ui/src/main/java/androidx/navigation/ui/NavigationUI.java?source=post_page---------------------------%2F%2F&autodive=0%2F#437)を見てみましたが、この中に処理を挟むのはちょっと厳しそうなので、NavigationViewを拡張してアイテムの再選択時には通知しないクラスを実装するのが良さそうです。関連する[Issue](https://issuetracker.google.com/issues/124398826)でもBottomNavigationViewのような機能が必要かも?という話になっています。
|
3
|
+
NavigationUIの[ソース](https://android.googlesource.com/platform/frameworks/support/+/refs/heads/androidx-master-dev/navigation/navigation-ui/src/main/java/androidx/navigation/ui/NavigationUI.java?source=post_page---------------------------%2F%2F&autodive=0%2F#437)を見てみましたが、この中にMenuItemの選択チェック処理を挟むのはちょっと厳しそうなので、NavigationViewを拡張してアイテムの再選択時には通知しないクラスを実装するのが良さそうです。関連する[Issue](https://issuetracker.google.com/issues/124398826)でもBottomNavigationViewのような機能が必要かも?という話になっています。
|
4
4
|
以下のようなクラスを実装してNavigationViewの代わりに使ってみてください。
|
5
5
|
|
6
6
|
```java
|