2013-07-08 8 views
1

Я использую пример ящика навигации downloadable here.Отключение элементов в навигационном ящике в Android

Я хотел бы расширить этот пример, чтобы отключить выбор одной из планет. Для простоты, скажем, я хочу навсегда отключить выбор Сатурна и изменить текст Сатурна на темно-серый и не выделять его, когда пользователь его выбирает. (в действительности, я хотел бы отключить навигацию программно, когда пользователь изменил определенные значения на экране, еще не сохраненном на устройстве).

Ближайший вещь, которую я получил, чтобы это остановить метод selectItem() от вызова внутри onItemClick клик слушателя, но проблема остается, даже если я сделаю это - текст «Сатурн» по-прежнему появляется выбор и основные моменты когда пользователь нажимает на него.

Какую часть виджетов мне нужно изменить, чтобы не выделять текст Сатурна?
Я попытался изменить

mDrawerLayout.setClickable(false); 
mDrawerList.setClickable(false); 

Но ни один из этих вариантов, как представляется, никакого влияния.

Любые предложения или идеи относительно того, как подойти к этой проблеме? Пара полезных замечаний:

  1. Я знаю, что в качестве альтернативы я могу Set the Drawer Lock Mode предотвратить панель навигации с открываемым, но это гораздо менее интуитивным, чем то, неактивны нав действия
  2. ли более подходящей вещь сделать здесь, чтобы удалить элементы из списка, к которым в настоящее время невозможно получить доступ? Как и описано здесь в Remove ListView implementation? Самым большим недостатком этого является то, что мне, вероятно, придется изменить listview, чтобы описать , почему элементов были временно удалены из этого списка.

ответ

4

Я хотел бы расширить этот пример, чтобы отключить выбор одной из планет

Создать свой собственный подкласс ArrayAdapter, где вы переопределять areAllItemsEnabled() вернуть false и isEnabled() вернуть true или false по мере необходимости.

+0

не могли бы вы привести пример этого кода, пожалуйста? – user1363871

+1

@ user1363871: Когда вы использовали поисковую систему для поиска образцов с использованием этих методов, что вы нашли? – CommonsWare

+0

спасибо, работает отлично! –

 Смежные вопросы

  • Нет связанных вопросов^_^