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);
}
}
... он по-прежнему выделяет выделение, когда пользователь его выбирает. Есть предположения?
Ответы
Ответ 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"
как описано здесь.