SimpleCursorAdapter для ListView? - PullRequest
       8

SimpleCursorAdapter для ListView?

0 голосов
/ 11 марта 2011

в моем приложении мне нужно использовать SimpleCursorAdapter для моего списка, который заполняется строкой [] или 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 at com.kpj4s.way2sms.ContactsList.onCreate (ContactsList.java:62) в android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1047) в android.app.ActivityThread.performLaunchActivity (ActivityThread.java:1586)

я думаю, что объект курсора "c"неправильно настроен

Может ли кто-нибудь помочь мне с кодом или показать альтернативу (примечание: мне нужно использовать только SimpleCursorAdapter)

спасибо:)

1 Ответ

2 голосов
/ 12 марта 2011

A Cursor обычно является результатом запроса к базе данных.Вы не запрашиваете базу данных, и Iterator не является Cursor, следовательно, ClassCastException.

Если вы хотите запросить ContentProvider для сбора контактной информации, см. Раздел «Запрос содержимого»Поставщик "на http://developer.android.com/guide/topics/providers/content-providers.html

Если вы действительно хотите, чтобы отображать ArrayList<String> try ArrayAdapter: http://developer.android.com/reference/android/widget/ArrayAdapter.html

...