Ответ 1
Оба CursorAdapter и ResourceCursorAdapter являются абстрактные классы. Точная разница заключается в том, что ResourceCursorAdapter реализует метод newView (который является абстрактным в базовом CursorAdapter).
ResourceCursorAdapter также переопределяет метод newDropDownView по-разному, но это не главное, главное - это newView.
Дополнительная компоновка в конструкторе - это то, что используется для создания представления для каждого элемента, вот метод newView ResourceCursorAdapter из источника:
/**
* 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 (это добавляет немного удобства, что все).