2013-06-01 66 views
2

我正在嘗試開發一個應用程序,在那裏你說出一個名稱,它將查找你的聯繫人並返回所有名稱,如「Lars A.,Lars B.,Lars C.」 。我將所有這些名稱保存在一個ArrayList中,並且它可以工作。 現在我想要一個AlertDialog,所以用戶可以從列表中選擇正確的聯繫人。我想通了,它必須是一個CharSequence,所以我之前將其轉換。但是我認爲這份清單是空的,因爲我只看到警報信息。AlertDialog.Builder不顯示ArrayList <String>列表

本網站描述得非常好,但使用靜態值,我需要動態值:Android Developer Site

繼承人我的代碼:

AlertDialog.Builder builder = new AlertDialog.Builder(this); 
CharSequence[] cs = namearray.toArray(new CharSequence[namearray.size()]); 
builder.setMessage("Welche/n " + cname + " meinst du?"); 
builder.setItems(cs, new DialogInterface.OnClickListener() { 
public void onClick(DialogInterface dialog, 
int item) { 
//do something 
} }); 
AlertDialog alert = builder.create(); 
alert.show(); 
+2

使用調試器或代碼中的跟蹤來查看列表是否爲空以及列表爲什麼爲空。然後修復這個錯誤。 –

+0

當我做cs.toString();它返回:Java_Lang_CharSequence @ ....並且沒有列表 – Marc

+0

要獲得數組的有意義的字符串表示,請使用'Arrays.toString(cs)'。 –

回答

5

文檔說:

因爲該列表會顯示在對話框的內容區域,該對話框不能同時顯示消息和服務,您應該設定一個與setTitle()對話的標題。

+0

omg非常感謝你,這個小錯誤花了這麼多時間:( – Marc