ナビゲーションドロワーのアイテムが選択されると、左のドロワーとフラグメントが変更されます。問題は、「アイテムA」がすでに選択されていて、ユーザーが再度選択した場合、同じフラグメントに対してフラグメントが変更されることです。ナビゲーションドロワー:現在選択されているアイテムを知る方法?
この現象を回避するには、どのアイテムが既に選択されているかを知る必要があります。私は、mLastSelectedItemPositionという属性を使用していましたが、これは良い解決策ではないと思います。ナビゲーション・ドロワーから現在のチェック・アイテムを取得する方法はありますか?
class OnNavigationItemSelectedListener implements NavigationView.OnNavigationItemSelectedListener {
@Override
public boolean onNavigationItemSelected(MenuItem menuItem) {
if (mLastSelectedItemPosition != menuItem.getOrder()) {
// Is not the same item, so I can change the fragment.
mLastSelectedItemPosition = menuItem.getOrder();
}
mDrawerLayout.closeDrawers();
return true;
}
}
}
私はこの方法を使うことができましたが、私はまた、現在のアイテムと最後のアイテムが同じアイテムであるかどうかをチェックするために、どのアイテムが選択されたかを知る必要があります。問題は、どのアイテムがすでに選択されているかを知ることです。 – heloisasim