Android: ¿Cómo se selecciona el elemento apropiado de Cursor en el método newView() de CursorAdapter?

Me pregunto cómo se selecciona el elemento apropiado de un Cursor cuando,

newView (contexto de contexto, cursor de cursor, padre de ViewGroup) Se llama al método del objeto CursorAdapter correspondiente ya que no tiene un parámetro que especifique la posición a diferencia del de ArrayAdapter:

getView (posición int, View convertView, ViewGroup padre) método:

¿Los datos seleccionados de la fila actual son señalados por el puntero de datos o, en otras palabras, es responsabilidad del promotor que se señale la fila correcta en el Cursor cuando se llama al método newView()?

preguntado el 03 de mayo de 12 a las 10:05

3 Respuestas

Un adaptador basado en cursor tiene la getView método implementado y esta implementación llama a los métodos newView() y bindView() para construir una vista y configurar los datos después de colocando el cursor en la posición correcta (usando el position parámetro del método getView).

Entonces el Cursor el parámetro apuntará a la fila correcta en los métodos newView y bindView porque ya estará fijado en esa posición por el getView método.

contestado el 03 de mayo de 12 a las 11:05

Gracias amigo, acabas de responder lo que quería saber. Eso es lo que quería saber cómo diablos se soluciona esa cosa (el cursor apunta a la fila adecuada). La próxima vez profundizaré en la documentación y los códigos fuente antes de hacer tales preguntas: Rampal Chaudhary

Forme su Cursor de acuerdo a sus requerimientos. Eso significa que cuando ejecuta una consulta, ponga alguna condición en ella y devolverá el cursor de acuerdo con eso.

contestado el 03 de mayo de 12 a las 10:05

No necesita la posición actual de vista en la lista en el adaptador de cursor. Causa CursorAdapter mueve la posición automáticamente. Pero si aún desea obtener el número de fila, puede hacerlo mediante el siguiente método:

cursor.getPosition();

contestado el 03 de mayo de 12 a las 10:05

¿Quiere decir que si, digamos, se va a completar la fila 15 de un ListView que está vinculado a un Cursor por un CursorAdapter, automáticamente, los datos de la fila 15 en el Cursor serán devueltos por getString () llamado dentro del método newView()? - Rampal Chaudhary

sí, pero en lugar de newView use bindView para completar el elemento de la lista desde el cursor. - jeet

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.