CursorAdapter和ResourceCursorAdapter都是抽象類。確切的區別是ResourceCursorAdapter實現了newView方法(它在基礎CursorAdapter中是抽象的)。
ResourceCursorAdapter也覆蓋了newDropDownView方法不同,但是這還不是最主要的,最主要的是NewView的。
構造函數中的額外的佈局是什麼,是用來創建視圖的每個項目,這裏是ResourceCursorAdapter from the source的NewView的方法:
/**
* 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會更容易(它增加了一些便利,就這些)。
對不起,我應該澄清,ctor意味着構造函數。我會編輯以擺脫ctor。 – 2014-01-27 02:53:46