2015-08-06 2 views
4

Я использую NavigationView из библиотеки поддержки. У меня есть BaseActivity, действие A и B.NavigationView set selected item as checked

По умолчанию приложения начинается с деятельностью A. Когда пользователь щелкает по пункту меню ящика аа, я начать деятельность Б.

После запуска активности B. Как я могу установить пункт меню, соответствующий с ней быть выделен как проверенный ?

Заранее спасибо

UPDATE:

Теперь с последним обновлением библиотеки поддержки, вы можете сделать:

mDrawer.setCheckedItem(R.id.drawer_profile); 
+0

Вот пример http://thegeekyland.blogspot.com/2015/11/navigation-drawer-how-set-selected-item.html – Arlind

ответ

15

Используйте код ниже:

navigationView.getMenu().getItem(0).setChecked(true); 

Вызов этого метода после вызова setNavD сырее();

Метод getItem (int index) получает MenuItem, после чего вы можете вызвать setChecked (true); на этом MenuItem все, что вам осталось сделать, и выяснить, какой индекс элемента имеет дом по умолчанию, и заменить 0 на этот индекс.

+0

Отлично работает. возможно ли заменить getItem (1) на getItem (R.id ...)? –

+0

@TareKhoury нет, поскольку я объяснил, что 0 - это индекс элемента меню, который вы хотите установить Checked (выделено), R.id .... получает некоторый идентификатор из файла R, и это может быть не элемент (действительный индекс) списка меню. – Arlind

+0

Хорошо, понял. –