Я пытаюсь следовать документам Android о диалоговых окнах множественного выбора. У меня проблема, и я думаю, что это тип массивов, которые я пытаюсь загрузить.
public void addCondition(View view){
ArrayList<String> mHelperNames= new ArrayList<String>();
mHelperNames.add("Test Item");
mHelperNames.add("Test Item");
mHelperNames.add("Test Item");
mSelectedItems = new ArrayList();
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("My Title")
.setMultiChoiceItems(mHelperNames, null,
new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which,
boolean isChecked) {
if (isChecked) {
mSelectedItems.add(which);
} else if (mSelectedItems.contains(which)) {
mSelectedItems.remove(Integer.valueOf(which));
}
}
})
.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
//Create onlcick method
}
})
.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
//Create onlcick method
}
});
builder.show();
}
Выше мой код, но это город с красной линией в затмении:
В документах mSelectedItems никогда не объявляется, и я не слишком уверен, как я его объявляю.
Ошибка в .SetMultipleChoiceItems:
Метод setMultiChoiceItems(int, boolean[], DialogInterface.OnMultiChoiceClickListener) в типе AlertDialog.Builder неприменим для аргументов (ArrayList, null, new DialogInterface.OnMultiChoiceClickListener(){})
Но если я изменю его из строки, как мне отобразить в нем текстовые элементы? Любая помощь будет действительно оценена.
Том