2010-08-10 44 views
15

CursorAdapterResourceCursorAdapter之間有什麼區別?CursorAdapter vs ResourceCursorAdapter

有人可以解釋什麼是執行我自己ResourceCursorAdapteroverride 所需的API?

我已經通過ResourceCursorAdapter文檔不見了,能夠 弄清楚,相比CursorAdapter構造它的構造函數需要一個額外的佈局 參數。但我無法理解在構造函數ResourceCusorAdapter中有一個額外的佈局 參數的意義。

回答

24

CursorAdapterResourceCursorAdapter都是抽象類。確切的區別是ResourceCursorAdapter實現了newView方法(它在基礎CursorAdapter中是抽象的)。

ResourceCursorAdapter也覆蓋了newDropDownView方法不同,但是這還不是最主要的,最主要的是NewView的

構造函數中的額外的佈局是什麼,是用來創建視圖的每個項目,這裏是ResourceCursorAdapter from the sourceNewView的方法:

/** 
    * 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); 
    } 

基本上,如果你不使用ResourceCursorAdapter,你在CursorAdapter的自定義實現中做的很多。當然,你可以自由地做更多的事情,但是如果你有一個佈局佈局,擴展ResourceCursorAdapter會更容易(它增加了一些便利,就這些)。

+1

對不起,我應該澄清,ctor意味着構造函數。我會編輯以擺脫ctor。 – 2014-01-27 02:53:46