2010-11-11 5 views
23

Estoy escribiendo un adaptador personalizado para usar con un ListView.¿Para qué es Adapter.getItem()?

La interfaz Adapter incluye un método que devuelve getItem(), de acuerdo con los documentos, un elemento Object como

los datos asociados con la posición especificada en el conjunto de datos.

¿Qué se supone que es este objeto? Solo puedo imaginarme que el ListView quiere llamar al toString o al equals, ya que no hay mucho más que pueda hacer con un Object crudo. Pero no tengo un conveniente Object que pueda devolver, y en cualquier caso estoy anulando getView por lo que el ListView no necesita una cadena de mi conjunto de datos de todos modos.

¿Puedo simplemente devolver null o algo completamente irrelevante?

+0

Responda esta pregunta similar: http://stackoverflow.com/q/6711592/2482894 – leo9r

Respuesta

14

Si cada elemento en el ListView representa algún objeto, digamos una Cadena, entonces puede devolver la Cadena aquí. Esto es útil para la capa de su controlador si necesita poder realizar alguna lógica cuando, por ejemplo. el usuario toca ese elemento en el ListView.

La devolución nula está bien ya que el uso depende de usted.

Personalmente, nunca he devuelto nada más que nulo aquí.

+1

Por lo tanto, lo que devuelvo es lo que me ha devuelto si llamo getItemAtPosition, etc. Lo entiendo. Gracias. –