我在AlertDialog.Builder
上使用setAdapter()
爲我的列表提供了自己的定製ListAdapter
。但是在我的DialogInterface.OnClickListener()
被調用後,對話框會自動解除。使用多項選擇時不退出對話框AlertDialog
下面存在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
作爲多選列表會令人誤解。