Я проверил ваш код следующим образом
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Are you sure you want to register the following courses? ");
// add a checkbox list
String[] courses ={"acx","sadsa","ksk","ksj","ywtgd"};
boolean[] checkedItems = {true, true, true, true, true};
builder.setMultiChoiceItems(courses, checkedItems, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
// user checked or unchecked a box
}
});
builder.show();
, и он показывает пять различных флажков. Проверьте String[] courses ={String.valueOf(registeredCourseList.getCourses().toString())};
Я полагаю, что вывод этой строки - все строковые данные с индексом 0 вместо показа на разных индексах. Таким образом, вместо использования вышеуказанной строки, используйте для l oop для вставки значений в массив
Отредактировано для FOR L oop Просто пример
ArrayList courses=new ArrayList();
for(int i=0;i<registeredCourseList.size;i++){
courses.add(registeredCourseList.get(i).getCourses());
}
Попробуйте что-то вроде этого