Подтвердить что ты не робот

Android: отключить выбор ListView

У меня есть listView, который я повторно показываю с правильным ответом, выделенным, когда пользователь выбирает элемент. Однако в этот момент я хотел бы отключить выбор элементов списка; пользователь может перейти к следующему вопросу, нажав кнопку. Однако даже если я отключу такие элементы:

   private void disableItemSelection() {
        ListView lv = getListView();
        for (int i = 0; i < lv.getChildCount(); i++){
            View v = lv.getChildAt(i);
            v.setEnabled(false);
        }
    }

... он по-прежнему выделяет выделение, когда пользователь его выбирает. Есть предположения?

4b9b3361

Ответ 1

Причина, по которой прокрутка заблокирована, связана с тем, что вы настраиваете

ListView

Я нашел способ отключить выделение без блокировки прокрутки. Вам нужно настроить его в списке, как показано ниже:

ArrayAdapter<String> myList = new ArrayAdapter<String>(this, R.layout.list_item, strText) {
           public boolean isEnabled(int position) 
            { 
                    return false; 
            } 
        };

Ответ 2

Вы можете добавить атрибут в макет Listview XML, чтобы отключить несколько строк с высоким уровнем света как

android:listSelector="@android:color/transparent"               
android:cacheColorHint="@android:color/transparent"

Ответ 3

Я просто спрятал выбранный элемент следующим образом:

listView.setSelector(new ColorDrawable(0));

И затем вы снова показываете его, восстанавливая все, что было ранее использовано:

wifiSsid.setSelector(R.drawable.listview_selector);

Ответ 4

Я использовал android: choiceMode="none" как описано здесь.