1

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

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

支持库v4包含CursorAdapter。您可以使用[支持库](http://developer.android.com/tools/extras/support-library.html) – Wenhui

回答

2

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

+0

完全正常工作。我一直有图书馆,但我想它永远不会出现,因为我没有添加它来建立路径。 – mango

相关问题