public abstract class

ResourceCursorAdapter

extends CursorAdapter

 java.lang.Object

↳BaseAdapter

androidx.cursoradapter.widget.CursorAdapter

↳androidx.cursoradapter.widget.ResourceCursorAdapter

Subclasses:

SimpleCursorAdapter

Gradle dependencies

compile group: 'androidx.cursoradapter', name: 'cursoradapter', version: '1.0.0'

  • groupId: androidx.cursoradapter
  • artifactId: cursoradapter
  • version: 1.0.0

Artifact androidx.cursoradapter:cursoradapter:1.0.0 it located at Google repository (https://maven.google.com/)

Androidx artifact mapping:

androidx.cursoradapter:cursoradapter com.android.support:cursoradapter

Androidx class mapping:

androidx.cursoradapter.widget.ResourceCursorAdapter android.support.v4.widget.ResourceCursorAdapter

Overview

Static library support version of the framework's . Used to write apps that run on platforms prior to Android 3.0. When running on Android 3.0 or above, this implementation is still used; it does not try to switch to the framework's implementation. See the framework SDK documentation for a class overview.

Summary

Fields
from CursorAdapterFLAG_AUTO_REQUERY, FLAG_REGISTER_CONTENT_OBSERVER, mAutoRequery, mChangeObserver, mContext, mCursor, mCursorFilter, mDataSetObserver, mDataValid, mFilterQueryProvider, mRowIDColumn
Constructors
publicResourceCursorAdapter(Context context, int layout, Cursor c)

Constructor the enables auto-requery.

publicResourceCursorAdapter(Context context, int layout, Cursor c, boolean autoRequery)

Constructor with default behavior as per CursorAdapter.CursorAdapter(Context, Cursor, boolean); it is recommended you not use this, but instead ResourceCursorAdapter.ResourceCursorAdapter(Context, int, Cursor, int).

publicResourceCursorAdapter(Context context, int layout, Cursor c, int flags)

Standard constructor.

Methods
public ViewnewDropDownView(Context context, Cursor cursor, ViewGroup parent)

Makes a new drop down view to hold the data pointed to by cursor.

public ViewnewView(Context context, Cursor cursor, ViewGroup parent)

Inflates view(s) from the specified XML file.

public voidsetDropDownViewResource(int dropDownLayout)

Sets the layout resource of the drop down views.

public voidsetViewResource(int layout)

Sets the layout resource of the item views.

from CursorAdapterbindView, changeCursor, convertToString, getCount, getCursor, getDropDownView, getFilter, getFilterQueryProvider, getItem, getItemId, getView, hasStableIds, init, onContentChanged, runQueryOnBackgroundThread, setFilterQueryProvider, swapCursor
from java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructors

public ResourceCursorAdapter(Context context, int layout, Cursor c)

Deprecated: This option is discouraged, as it results in Cursor queries being performed on the application's UI thread and thus can cause poor responsiveness or even Application Not Responding errors. As an alternative, use android.app.LoaderManager with a .

Constructor the enables auto-requery.

Parameters:

context: The context where the ListView associated with this adapter is running
layout: resource identifier of a layout file that defines the views for this list item. Unless you override them later, this will define both the item views and the drop down views.

public ResourceCursorAdapter(Context context, int layout, Cursor c, boolean autoRequery)

Deprecated: This option is discouraged, as it results in Cursor queries being performed on the application's UI thread and thus can cause poor responsiveness or even Application Not Responding errors. As an alternative, use android.app.LoaderManager with a .

Constructor with default behavior as per CursorAdapter.CursorAdapter(Context, Cursor, boolean); it is recommended you not use this, but instead ResourceCursorAdapter.ResourceCursorAdapter(Context, int, Cursor, int). When using this constructor, CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER will always be set.

Parameters:

context: The context where the ListView associated with this adapter is running
layout: resource identifier of a layout file that defines the views for this list item. Unless you override them later, this will define both the item views and the drop down views.
c: The cursor from which to get the data.
autoRequery: If true the adapter will call requery() on the cursor whenever it changes so the most recent data is always displayed. Using true here is discouraged.

public ResourceCursorAdapter(Context context, int layout, Cursor c, int flags)

Standard constructor.

Parameters:

context: The context where the ListView associated with this adapter is running
layout: Resource identifier of a layout file that defines the views for this list item. Unless you override them later, this will define both the item views and the drop down views.
c: The cursor from which to get the data.
flags: Flags used to determine the behavior of the adapter, as per CursorAdapter.CursorAdapter(Context, Cursor, int).

Methods

public View newView(Context context, Cursor cursor, ViewGroup parent)

Inflates view(s) from the specified XML file.

See also:

public View newDropDownView(Context context, Cursor cursor, ViewGroup parent)

Makes a new drop down view to hold the data pointed to by cursor.

Parameters:

context: Interface to application's global information
cursor: The cursor from which to get the data. The cursor is already moved to the correct position.
parent: The parent to which the new view is attached to

Returns:

the newly created view.

public void setViewResource(int layout)

Sets the layout resource of the item views.

Parameters:

layout: the layout resources used to create item views

public void setDropDownViewResource(int dropDownLayout)

Sets the layout resource of the drop down views.

Parameters:

dropDownLayout: the layout resources used to create drop down views

Source

/*
 * Copyright 2018 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package androidx.cursoradapter.widget;

import android.content.Context;
import android.database.Cursor;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

/**
 * Static library support version of the framework's {@link android.widget.ResourceCursorAdapter}.
 * Used to write apps that run on platforms prior to Android 3.0.  When running
 * on Android 3.0 or above, this implementation is still used; it does not try
 * to switch to the framework's implementation.  See the framework SDK
 * documentation for a class overview.
 */
public abstract class ResourceCursorAdapter extends CursorAdapter {
    private int mLayout;

    private int mDropDownLayout;

    private LayoutInflater mInflater;

    /**
     * Constructor the enables auto-requery.
     *
     * @deprecated This option is discouraged, as it results in Cursor queries
     * being performed on the application's UI thread and thus can cause poor
     * responsiveness or even Application Not Responding errors.  As an alternative,
     * use {@link android.app.LoaderManager} with a {@link android.content.CursorLoader}.
     *
     * @param context The context where the ListView associated with this adapter is running
     * @param layout resource identifier of a layout file that defines the views
     *            for this list item.  Unless you override them later, this will
     *            define both the item views and the drop down views.
     */
    @Deprecated
    public ResourceCursorAdapter(Context context, int layout, Cursor c) {
        super(context, c);
        mLayout = mDropDownLayout = layout;
        mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }

    /**
     * Constructor with default behavior as per
     * {@link CursorAdapter#CursorAdapter(Context, Cursor, boolean)}; it is recommended
     * you not use this, but instead {@link #ResourceCursorAdapter(Context, int, Cursor, int)}.
     * When using this constructor, {@link #FLAG_REGISTER_CONTENT_OBSERVER}
     * will always be set.
     *
     * @deprecated This option is discouraged, as it results in Cursor queries
     * being performed on the application's UI thread and thus can cause poor
     * responsiveness or even Application Not Responding errors.  As an alternative,
     * use {@link android.app.LoaderManager} with a {@link android.content.CursorLoader}.
     *
     * @param context The context where the ListView associated with this adapter is running
     * @param layout resource identifier of a layout file that defines the views
     *            for this list item.  Unless you override them later, this will
     *            define both the item views and the drop down views.
     * @param c The cursor from which to get the data.
     * @param autoRequery If true the adapter will call requery() on the
     *                    cursor whenever it changes so the most recent
     *                    data is always displayed.  Using true here is discouraged.
     */
    @Deprecated
    public ResourceCursorAdapter(Context context, int layout, Cursor c, boolean autoRequery) {
        super(context, c, autoRequery);
        mLayout = mDropDownLayout = layout;
        mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }

    /**
     * Standard constructor.
     *
     * @param context The context where the ListView associated with this adapter is running
     * @param layout Resource identifier of a layout file that defines the views
     *            for this list item.  Unless you override them later, this will
     *            define both the item views and the drop down views.
     * @param c The cursor from which to get the data.
     * @param flags Flags used to determine the behavior of the adapter,
     * as per {@link CursorAdapter#CursorAdapter(Context, Cursor, int)}.
     */
    public ResourceCursorAdapter(Context context, int layout, Cursor c, int flags) {
        super(context, c, flags);
        mLayout = mDropDownLayout = layout;
        mInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }

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

    @Override
    public View newDropDownView(Context context, Cursor cursor, ViewGroup parent) {
        return mInflater.inflate(mDropDownLayout, parent, false);
    }

    /**
     * <p>Sets the layout resource of the item views.</p>
     *
     * @param layout the layout resources used to create item views
     */
    public void setViewResource(int layout) {
        mLayout = layout;
    }

    /**
     * <p>Sets the layout resource of the drop down views.</p>
     *
     * @param dropDownLayout the layout resources used to create drop down views
     */
    public void setDropDownViewResource(int dropDownLayout) {
        mDropDownLayout = dropDownLayout;
    }
}