AlertDialog总是显示为空,这是我传递String数组而不是适配器的代码,但是适配器是空的。我错过了什么吗?
.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setTitle("Show dialog");
int selected =0; // select at 0
SimpleCursorAdapter Adapter =new SimpleCursorAdapter(MainActivity.this, android.R.layout.simple_list_item_single_choice,
null, new String[]{"title","title2"}, new int[]{android.R.id.text1});
builder.setSingleChoiceItems(
Adapter,
selected ,
new DialogInterface.OnClickListener() {
@Override
public void onClick(
DialogInterface dialog,
int which) {
Toast.makeText(
MainActivity.this,
"Select "+choiceList[which],
Toast.LENGTH_SHORT
).show();
}
});
AlertDialog alert = builder.create();
alert.show();
答案 0 :(得分:0)
很抱歉迟到的回复。我在遇到类似问题时发现了你的问题。如果您实际上没有从数据库获取数据,为什么要传递cursorAdapter?我只想创建一个新的ArrayAdapter。你试过了吗?
ArrayAdapter<String> Adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.select_dialog_singlechoice, new String[]{"title","title2"});
请注意,我使用“android.R.layout.select_dialog_singlechoice”而不是“android.R.layout.simple_list_item_single_choice”,因为您的列表位于AlertDialog中。希望这有帮助!
汤姆。