Существует левый ящик и фрагмент, который изменяется, когда выбран элемент в ящике навигации. Проблема в том, что если «Item 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