Для чего нужен Adapter.getItem ()? - PullRequest
22 голосов
/ 11 ноября 2010

Я пишу пользовательский адаптер для использования с ListView.

. Интерфейс Adapter включает метод getItem(), который возвращает, согласно документам, Object как

элемент данных, связанный с указанной позицией в наборе данных.

Каким должен быть этот объект?Я могу только вообразить, что ListView хочет вызвать либо toString, либо equals, так как с необработанным Object вы ничего не можете сделать.Но у меня нет удобного Object, который я могу вернуть, и в любом случае я переопределяю getView, поэтому ListView в любом случае не нуждается в строке из моего набора данных.

Могу ли я просто вернутьnull или что-то еще совершенно неактуальное?

1 Ответ

14 голосов
/ 11 ноября 2010

Если каждый элемент в ListView представляет некоторый объект, скажем, String, тогда вы можете вернуть String здесь. Это полезно для вашего уровня контроллера, если он должен иметь возможность выполнять некоторую логику, например, когда. пользователь нажимает этот элемент в ListView.

Возврат нуля - это нормально, так как использование зависит от вас.

Я лично никогда не возвращал здесь ничего, кроме нуля.

...