我需要创建一个带有多选项的AlertDialog,但是在尝试将自定义布局文件设置到内部ListView时遇到了一些问题。
对于单选项,我使用一个带有ListAdapter参数的构造函数,通过这种方式,我可以为每一行设置适当的布局资源:
builder.setSingleChoiceItems(new ArrayAdapter<String>(getActivity(),
R.layout.list_item_single_choice_answer, items), checkedItem,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
checkedItem = which;
toggleEditTextAnswer(checkedItem == (items.length - 1));
dialog.dismiss();
}
});
问题在于,在创建多选列表时,没有接受ListAdapter作为参数的setMultiChoiceItems构造函数。
我需要为每一行设置自定义布局,因为我使用可绘制选择器来设置行背景和文本颜色。
有什么想法吗?
附注:以下是AlertDialog源代码,供参考。 https://android.googlesource.com/platform/frameworks/base.git/+/android-4.2.2_r1/core/java/android/app/AlertDialog.java