我正在尝试开发一个应用程序,在那里你说出一个名称,它将查找你的联系人并返回所有名称,如“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();
使用调试器或代码中的跟踪来查看列表是否为空以及列表为什么为空。然后修复这个错误。 –
当我做cs.toString();它返回:Java_Lang_CharSequence @ ....并且没有列表 – Marc
要获得数组的有意义的字符串表示,请使用'Arrays.toString(cs)'。 –