Как сделать некоторые элементы списка без кликов?

У меня есть код, который довольно легко понять. Я хочу, чтобы какой-то конкретный ребенок этого списка не был кликабельным.

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,R.layout.list_item,R.id.module_name_item, testdata); m_listview.setAdapter(adapter); Log.i("check","1"); if(sectionAttempts.get(0).equals("0")) { m_listview.getChildAt(2).setEnabled(false); m_listview.getChildAt(3).setEnabled(false); } else { if(sectionAttempts.get(2).equals("0")) { m_listview.getChildAt(3).setEnabled(false); } } 

Я получаю ошибку в

  m_listview.getChildAt(2).setEnabled(false); 

Как java.lang.NullpointerException. Я попытался найти ошибку и использовал Log.i («check», m_listview.getChildCount ()); И это показывает 0., поэтому я угадываю, что listview еще не создан! Как это возможно.

В чем проблема? Thanx за любую помощь заранее.

Override areAllItemsSelectable() . Верните false, чтобы сказать, что все элементы не доступны для клика.

 @Override public boolean areAllItemsSelectable() { return false; } 

И затем переопределите ниже метод, чтобы вернуть, какой элемент не доступен для кликов.

 @Override public boolean isEnabled(int position) { if(position == your_item_pos) { return false; } return true; } 

Разделив мой опыт, следующее получило трюк (представление относится к представлению элемента списка):

 view.setEnabled(false); view.setOnClickListener(null); 
  • Включение путем переопределения метода не срабатывало, поскольку метод никогда не вызывался.
  • Настройка фокуса на false тоже не работала.

Кажется, что вы не инициализировали свой ListView. В onCreate Используйте m_listview=getListView() если вы используете ListActivity или m_listview=findViewById(R.id...) если используете обычную активность.

Intereting Posts
Файл SVG отлично работает в эмуляторе, но дает ошибку в реальном устройстве? Как проверить, попадают ли координаты одного местоположения в другое место радиус координат в андроиде Как установить наблюдателя для обновления навигационного ящика после того, как метод onActivityResult получил результат Intent Android Studio застряла при загрузке компонентов Дважды нажмите кнопку «Назад», чтобы выйти из операции Почему некоторые методы SQLite ожидают аргументы как объект , в то время как другим нужен String ? Модернизация: как исправить "разрешен только один метод http. Found: get and get "? Как убить метод PostDelayed в Android Является ли Sun Java действительно необходимым для использования Android SDK на Ubuntu 10.10? Я предпочитаю OpenJDK HttpUnit / HtmlUnit эквивалент для Android Что такое jQuery Mobile ?. Способна ли она создавать игры для Android? Обновление зависимостей Gradle Что делать с курсором после SQLite-запроса? Google App Engine Java HTTP Post Image из API-метода для сервлета Как развить расширенный LinearLayout из XML