2010-11-11 22 views
23

Piszę niestandardowy adapter do użytku z ListView.Do czego służy funkcja Adapter.getItem()?

Interfejs Adapter zawiera getItem() sposobu, który zwraca według Dokumenty, element Object jak

dostęp do danych związanych z określonym położeniu w zbiorze danych.

Jaki powinien być ten obiekt? Mogę sobie tylko wyobrazić, że ListView chce wywoływać na nim toString lub equals, ponieważ nie ma zbyt wiele innych możliwości, jeśli chodzi o surowe Object. Ale nie mam wygodnego Object mogę zwrócić, aw każdym razie przesłonię getView, więc ListView nie ma potrzeby ciągów z mojego zestawu danych.

Czy mogę tylko zwrócić null lub coś zupełnie nieistotnego?

+0

Zamówienie to podobne pytanie: http://stackoverflow.com/q/6711592/2482894 – leo9r

Odpowiedz

14

Jeśli każda pozycja w ListView reprezentuje jakiś obiekt, powiedzmy String, to możesz tutaj zwrócić String. Jest to użyteczne dla twojej warstwy kontrolera, jeśli musi być w stanie wykonać jakąś logikę, gdy np. użytkownik dotknie tego elementu w ListView.

Zwracanie wartości zerowej jest prawidłowe, ponieważ użycie zależy od Ciebie.

Osobiście nigdy nie zwróciłem tutaj niczego oprócz wartości zerowej.

+1

Tak więc, cokolwiek zwrócę, jest to, co zostało mi przekazane, jeśli zadzwonię do getItemAtPosition, itp. Dostaję to. Dzięki. –