0

私のアプリでは、string[]またはArrayList[]によって入力されているリストビューにSimpleCursorAdapterを使用する必要があります...

私は次のコードを試しました:

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)at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)at android .app.ActivityThread.performLaunchActivity(ActivityThread.java:1586)

カーソルオブジェクト「c」が正しく設定されていないと思います

誰かがコードを手伝ってくれるか、代替案を教えてくれますか(注:SimpleCursorAdapterのみを使用する必要があります)

ありがとう :)

4

1 に答える 1

2

ACursorは通常、データベース クエリの結果です。データベースにクエリを実行してIteratorおらず、 は ではないCursorため、ClassCastException.

連絡先情報を収集するために ContentProvider にクエリを実行する場合は、http://developer.android.com/guide/topics/providers/content-providers.html の「コンテンツ プロバイダのクエリ」セクションを参照してください

あなたが本当にあなたのArrayList<String>試みを表示したいだけならArrayAdapter: http://developer.android.com/reference/android/widget/ArrayAdapter.html

于 2011-03-11T21:44:45.773 に答える