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+

Intereting Posts