CursorAdapterResourceCursorAdapter

有人可以解释override需要哪些api吗
当实现我自己的ResourceCursorAdapter时?

我已经阅读了ResourceCursorAdapter文档,并能够
弄清楚它的构造函数需要额外的布局
CursorAdapter构造函数相比的参数。但是我无法
了解额外布局的意义是什么ResourceCusorAdapter构造函数中的参数。

最佳答案

CursorAdapterResourceCursorAdapter都是抽象类。确切的区别是ResourceCursorAdapter实现了newView方法(在基本CursorAdapter中是抽象的)。

ResourceCursorAdapter还以不同的方式重写newDropDownView方法,但这不是主要内容,主要是newView。

构造函数中的额外布局是用来为每个项目创建 View 的,这里是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会更容易(这增加了一点便利,仅此而已)。

10-05 20:09