2010-08-10 12 views
15

Qual è la differenza esatta tra CursorAdapter e ResourceCursorAdapter?CursorAdapter vs ResourceCursorAdapter

Qualcuno può spiegare quali sono le API richieste a override quando si implementa il mio ResourceCursorAdapter?

Ho passato con la documentazione ResourceCursorAdapter e in grado di capire che si tratta di costruttore accetta un parametro aggiuntivo di layout rispetto al CursorAdapter costruttore. Ma non sono in grado di capire quale sia il significato di avere un ulteriore parametro di layout nel costruttore ResourceCusorAdapter.

risposta

24

Entrambi CursorAdapter e ResourceCursorAdapter sono classi astratte. La differenza esatta è che ResourceCursorAdapter implementa il metodo newView (che è astratto nel CursorAdapter di base).

ResourceCursorAdapter sostituisce anche il metodo newDropDownView in modo diverso, ma non è la cosa principale, la cosa principale è newView.

Il layout in più nel costruttore è quello che viene utilizzato per creare la vista per ogni articolo, qui è la metodo di newView di 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); 
    } 

In sostanza, se non si utilizza ResourceCursorAdapter, fai lo stesso nella tua implementazione personalizzata di CursorAdapter. Sei libero di fare di più, ovviamente, ma se hai un layout impostato è più semplice estendere ResourceCursorAdapter (aggiunge un po 'di comodità, tutto qui).

+1

Scusate, avrei dovuto chiarire, Ctor significa costruttore. Mi aggiusterò per sbarazzarmi di Ctor. –

Problemi correlati