)?

2011-03-11 41 views
0

在我的應用我需要使用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 在com.kpj4s.way2sms.ContactsList.onCreate(ContactsList.java:62) 在android.app。 Instrumentation.callActivi tyOnCreate(Instrumentation.java:1047) 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1586)

我認爲光標對象的 「c」 沒有被正確設定

任何一個可以幫助我的代碼或顯示我的選擇(注:我只需要使用SimpleCursorAdapter)

謝謝:)

回答

2

一個Cursor通常是數據庫查詢的結果。您不查詢數據庫並且Iterator不是Cursor,因此ClassCastException

如果你希望查詢ContentProvider的收集聯繫人信息,請參閱「查詢內容提供商」的部分在http://developer.android.com/guide/topics/providers/content-providers.html

如果你真的只想要顯示ArrayList<String>嘗試ArrayAdapterhttp://developer.android.com/reference/android/widget/ArrayAdapter.html

+0

+1我也會建議'ArrayAdapter'。 – 2011-03-11 21:53:18

+0

剛剛經歷了嘗試(和失敗)使ArrayAdapter按照文檔所說的應該這樣做的方式行事的痛苦時,您可能希望在開始之前爲自己澆一些僵硬的飲料。 – 2011-11-18 23:16:23