我正在使用setAdapter()on为我的列表AlertDialog.Builder提供我自己的自定义ListAdapter。但是在我DialogInterface.OnClickListener()被调用后,对话框会自动关闭。
下面是AlertController.createListView(...)导致我的对话框关闭的Android源代码:
if (mOnClickListener != null) {
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView parent, View v, int position, long id) {
mOnClickListener.onClick(dialog.mDialogInterface, position);
if (!mIsSingleChoice) {
dialog.mDialogInterface.dismiss();
}
}
});
}
目前我正在使用AlertDialog.Builder.setSingleChoiceItems(..)而不是setAdapter(..). 有没有更好的方法来使用自定义ListAdapter并允许在对话框中进行多项选择?我发现将其setSingleChoiceItems用于多项选择列表会产生误导。