Я реализовал ящик для навигации в своем приложении (http://developer.android.com/training/implementing-navigation/nav-drawer.html).Выбранный элемент в навигационном ящике
Как я могу изменить отображение фактически выбранного элемента? Я хочу, чтобы выделенный элемент был выделен жирным шрифтом и другим цветом.
В официальном примере они используют «setItemChecked», но как я могу изменить аспект одного элемента? Метод setOnItemSelectedListener не работает.
До сих пор, что я делаю это кусок кода, когда я открываю фрагмент:
for (int i = 0; i < mDrawerList.getChildCount(); i++){
TextView t = (TextView) mDrawerList.getChildAt(i);
if(i == fragmentPosition) t.setTextColor(getResources().getColor(R.color.blue));
else t.setTextColor(getResources().getColor(R.color.black));
}
Он работает, но при запуске приложения, не выбран ни один пункт, и я не могу установить любой предмет, потому что listview еще не создан (он создается, когда мы открываем его в первый раз, я думаю).
Я попытался создать селектор, но не знаю, как правильно установить различные атрибуты (элемент отмечен, выбранный элемент, щелкнул элемент?), Искал документы, но я не понимаю.
Спасибо за любую помощь, которую вы можете предоставить!
Это грязная хак! Он вводит людей в заблуждение. Используйте 'CheckedTextView'instead! Также используйте 'myDrawerListView.setChoiceMode (ListView.CHOICE_MODE_MULTIPLE)'. –