Intereting Posts
Android AVD Emulator Dev Tools для мобильного браузера? Ошибка при добавлении зависимостей в Android Studio Разбор огромного объекта JSON в Android? Ограничение словаря распознавания голоса для более быстрого совпадения и хорошей точности Как отключить Button, если EditText пуст? Как преобразовать координаты GPS в местность Android ListView с переключателем GoogleMaps v2 для Android: не удается удалить маркер во время отображения карты Android: загрузка растрового изображения альфа-маски Как реализовать контекстное меню при нажатии клавиши, а не длительный щелчок / нажатие Ошибка Google Play «Ошибка при получении информации с сервера " Как программно определить, какой формат XML используют мои приложения для Android? Почему MainActivity не может быть разрешен или не является полем? Преобразовать строку Date в timestamp в Android? Андроидный запрос не выполнен com.android.internal.telephonyCommandException RADIO_NOT_AVAILABLE

GridView.setItemChecked (позиция, значение)

Я хочу использовать Master-Detail-Flow с GridView на левой (главной) стороне. Согласно документации , GridView имеет метод setItemChecked(position, value) который был добавлен в уровне API 1. Eclipse утверждает, что для этого метода требуется уровень API 11.

Какой из них верен? Если я хочу отмечать элементы в моем GridView, мне нужно реализовать логику (с изменениями фона и т. Д.) Myelf?

По моему опыту, официальная документация ошибочна.

AbsListView.setItemChecked(position, value) существует только от HoneyComb (API 11) и далее. Что заставляет сбивать с толку, так это то, что ListView.setItemChecked(position, value) действительно существует из API 1, тогда как GridView.setItemChecked(position, value) этого не сделал. Я думаю, что это был просто плохой дизайн API, который был исправлен в API 11.

Возможно, это связано с ограничением в генераторе документации, потому что метод был перенесен в цепочку наследования до AbsListView в API 11. Метод в AbsListView должен быть помечен как Added in API level 11 а метод в ListView должен быть помечен как Added in API level 1 .

Я не использовал его, но кто-то создал GridViewCompat чтобы исправить эту проблему. https://github.com/paramvir-b/AndroidGridViewCompatLib

Я считаю, что документация неверна. Тестирование на эмуляторе, метод не был доступен на уровне API 8. Это касается всех расширений метода AbsListView setItemChecked (), насколько я могу судить (ListView и т. Д.). Я думаю, можно с уверенностью предположить, что он доступен только на уровне API 11+