扩展cursorAdapter,使用什么构造函数

时间:2012-10-27 02:26:40

标签: android android-listview android-cursoradapter android-cursor

我正在尝试用数据库查询填充listview。我正在使用扩展游标适配器的自定义适配器。我不知道使用什么构造函数。当我使用默认值时:

public AdapterListview(Context context, Cursor c) {
    super(context, c);
    // TODO Auto-generated constructor stub
}

它工作正常,但我收到了一个被弃用的警告。我做了一些研究,看起来建议使用以下内容并使用0作为标志。

public AdapterListview(Context context, Cursor c, int flags) {
    super(context, c, flags);
    // TODO Auto-generated constructor stub
}

但看起来它不支持API 11下的任何内容,我的项目是针对API 8.不过我还是尝试了它,我得到以下logcat错误:

10-27 02:11:22.230: E/AndroidRuntime(491): FATAL EXCEPTION: main
10-27 02:11:22.230: E/AndroidRuntime(491): java.lang.NoSuchMethodError: android.widget.CursorAdapter.<init>
10-27 02:11:22.230: E/AndroidRuntime(491):  at com.mangodeveloper.mcathomie.AdapterListview.<init>(AdapterListview.java:14)
10-27 02:11:22.230: E/AndroidRuntime(491):  at com.mangodeveloper.mcathomie.ActivityStats.onCreate(ActivityStats.java:36)
10-27 02:11:22.230: E/AndroidRuntime(491):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
10-27 02:11:22.230: E/AndroidRuntime(491):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
10-27 02:11:22.230: E/AndroidRuntime(491):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
10-27 02:11:22.230: E/AndroidRuntime(491):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
10-27 02:11:22.230: E/AndroidRuntime(491):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
10-27 02:11:22.230: E/AndroidRuntime(491):  at android.os.Handler.dispatchMessage(Handler.java:99)
10-27 02:11:22.230: E/AndroidRuntime(491):  at android.os.Looper.loop(Looper.java:123)
10-27 02:11:22.230: E/AndroidRuntime(491):  at android.app.ActivityThread.main(ActivityThread.java:3683)
10-27 02:11:22.230: E/AndroidRuntime(491):  at java.lang.reflect.Method.invokeNative(Native Method)
10-27 02:11:22.230: E/AndroidRuntime(491):  at java.lang.reflect.Method.invoke(Method.java:507)
10-27 02:11:22.230: E/AndroidRuntime(491):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
10-27 02:11:22.230: E/AndroidRuntime(491):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
10-27 02:11:22.230: E/AndroidRuntime(491):  at dalvik.system.NativeStart.main(Native Method)

所以我对自己应该做的事感到茫然。

1 个答案:

答案 0 :(得分:2)

来自Support Library v4的CursorAdapter具有(Contex, Cursor, int)构造函数。设置项目以使用库,并在代码中将import CursorAdapter;替换为import android.support.v4.widget.CursorAdapter;