我正在使用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
用于多项选择列表会产生误导。