2010-08-10 29 views
15

¿Cuál es la diferencia exacta entre CursorAdapter y ResourceCursorAdapter?CursorAdapter vs ResourceCursorAdapter

¿Alguien puede explicar cuáles son las API que se requieren para override al implementar mi propio ResourceCursorAdapter?

He pasado por la documentación ResourceCursorAdapter y capaz de averiguar que es constructor toma un parámetro adicional diseño en comparación con CursorAdapter constructor. Pero no puedo entender cuál es la importancia de tener un parámetro de diseño adicional en el constructor ResourceCusorAdapter.

Respuesta

24

Ambos CursorAdapter y ResourceCursorAdapter son clases abstractas. La diferencia exacta es que ResourceCursorAdapter implementa el método newView (que es abstracto en el CursorAdapter base).

ResourceCursorAdapter también anula el métodonewDropDownView diferente, pero eso no es lo principal, lo principal es NEWVIEW.

La disposición adicional en el constructor es lo que se utiliza para crear la vista para cada artículo, aquí está el NEWVIEW método de ResourceCursorAdapter from the source:

/** 
    * Inflates view(s) from the specified XML file. 
    * 
    * @see android.widget.CursorAdapter#newView(android.content.Context, 
    *  android.database.Cursor, ViewGroup) 
    */ 
    @Override 
    public View newView(Context context, Cursor cursor, ViewGroup parent) { 
     return mInflater.inflate(mLayout, parent, false); 
    } 

Básicamente, si usted no utiliza ResourceCursorAdapter, usted hace más de lo mismo en su propia implementación personalizada de CursorAdapter. Puedes hacer más, por supuesto, pero si tienes un diseño de conjunto, es más fácil extender ResourceCursorAdapter (agrega un poco de comodidad, eso es todo).

+1

Lo siento, debería haber aclarado, ctor significa constructor. Voy a editar para deshacerme de Ctor. –

Cuestiones relacionadas