複数選択項目を含む 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のコンストラクターがないことです。
行の背景とテキストの色を設定するためにドローアブル セレクターを使用するため、行ごとにカスタム レイアウトを設定する必要があります。
何か案は?
PS。詳細については、AlertDialog のソース コードを参照してください。 https://android.googlesource.com/platform/frameworks/base.git/+/android-4.2.2_r1/core/java/android/app/AlertDialog.java