CursorAdapter与ResourceCursorAdapter

时间:2010-08-10 09:05:20

标签: android

CursorAdapter和之间的确切区别是什么? ResourceCursorAdapter

有人可以解释override所需的api是什么 在实现我自己的ResourceCursorAdapter

我已经查看了ResourceCursorAdapter文档并且能够 弄清楚它的构造函数需要额外的布局 与CursorAdapter构造函数相比的参数。但我无法做到 了解拥有额外布局的重要性 ResourceCusorAdapter构造函数中的参数。

1 个答案:

答案 0 :(得分:24)

CursorAdapterResourceCursorAdapter都是抽象类。确切的区别在于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会更容易(它增加了一些便利性,就是这样)。