我想创建一个显示自定义对象AlertDialog
列表的Supplier
。已覆盖toString()
方法以显示说明。
AlertDialog.Builder dialog = new AlertDialog.Builder(ExampleActivity.this);
dialog.setTitle("Title");
dialog.setMessage("Message:");
final ArrayAdapter<Supplier> adapter = new ArrayAdapter<Supplier>(
ExampleActivity.this, android.R.layout.select_dialog_singlechoice);
adapter.add(new Supplier());
adapter.add(new Supplier());
adapter.add(new Supplier());
dialog.setAdapter(adapter, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
dialog.setNegativeButton("Cancel", null);
dialog.show();
从我看过的例子中,我找不到任何明显错误的代码。但是,当我运行它时,它不会按预期显示供应商对象的列表。我还尝试对setItems
使用setSingleChoiceItems
和AlertDialog.Builder
方法。任何人都可以看到我错在哪里?
答案 0 :(得分:9)
事实证明,您无法一起设置消息和适配器。当我删除dialog.setMessage("Message:")
时,它会起作用。
答案 1 :(得分:1)
你可以用这个:
AlertDialog.Builder builderSingle = new AlertDialog.Builder(context);
builderSingle.setIcon(R.drawable.logobig);
builderSingle.setTitle("");
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(
context, android.R.layout.simple_list_item_1
);
arrayAdapter.add("Customer 1 ");
arrayAdapter.add("Customer 2");
builderSingle.setAdapter(arrayAdapter, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
switch (which) {
case 0:
// handle item1
break;
case 1:
// item2
break;
case 2:
// item3
break;
default:
break;
}
}
});
builderSingle.show();