ListView 的 SimpleCursorAdapter?

发布于 2024-10-21 19:51:31 字数 871 浏览 3 评论 0原文

在我的应用程序中,我需要为我的列表视图使用 SimpleCursorAdapter,该列表视图由 string[] 或 ArrayList[] 填充...

我尝试了以下代码:

ArrayList<String> mDisplay = new ArrayList<String>();
Cursor c = (Cursor) mDisplay.iterator();
    lv_contactlist.setAdapter(new SimpleCursorAdapter(this, android.R.layout.simple_list_item_checked, c ,new String[]{mDisplay.toString()}, new int[]{android.R.id.text1}));

但显示错误如下:

由以下原因引起:java.lang.ClassCastException:java.util.ArrayList$ArrayListIterator 在 com.kpj4s.way2sms.ContactsList.onCreate(ContactsList.java:62) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1586)

我认为 Cursor 对象“c”未正确设置,

任何人都可以帮助我编写代码或向我展示替代方案(注意:我只需要使用 SimpleCursorAdapter )

谢谢 :)

in my app i need to use the SimpleCursorAdapter for my listview which is being populated by an string[] or ArrayList[]...

i tried the following code:

ArrayList<String> mDisplay = new ArrayList<String>();
Cursor c = (Cursor) mDisplay.iterator();
    lv_contactlist.setAdapter(new SimpleCursorAdapter(this, android.R.layout.simple_list_item_checked, c ,new String[]{mDisplay.toString()}, new int[]{android.R.id.text1}));

but show me error as follows:

Caused by: java.lang.ClassCastException: java.util.ArrayList$ArrayListIterator
at com.kpj4s.way2sms.ContactsList.onCreate(ContactsList.java:62)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1586)

i think that the Cursor object "c" is not properly set

can any one help me with the code or show me the alternative (note: i need to use only SimpleCursorAdapter)

thanks :)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

权谋诡计 2024-10-28 19:51:31

Cursor 通常是数据库查询的结果。您不是在查询数据库,并且 Iterator 不是 Cursor,因此会出现 ClassCastException

如果您希望查询 ContentProvider 以收集联系信息,请参阅 http://developer.android.com/guide/topics/providers/content-providers.html

如果你真的只想显示你的 ArrayList尝试ArrayAdapterhttp://developer.android.com /reference/android/widget/ArrayAdapter.html

A Cursor is usually the result of a database query. You are not querying a database and an Iterator is not a Cursor, hence the ClassCastException.

If you are hoping to query a ContentProvider to collect the Contact information see the section "Querying a Content Provider" at http://developer.android.com/guide/topics/providers/content-providers.html

If you really only want to display your ArrayList<String> try ArrayAdapter: http://developer.android.com/reference/android/widget/ArrayAdapter.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文