CursorAdapter vs ResourceCursorAdapter

Какая разница между CursorAdapter и ResourceCursorAdapter?

Может кто-нибудь объяснить, что такое api, которое требуется для override при реализации моего собственного ResourceCursorAdapter?

Я просмотрел документацию ResourceCursorAdapter и чтобы выяснить, что конструктор принимает дополнительный макет по сравнению с конструктором CursorAdapter. Но я не могу понять, какое значение имеет дополнительный макет параметр в конструкторе ResourceCusorAdapter.

Ответы

Ответ 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 (это добавляет немного удобства, что все).