setMultiChoiceItems() не показывает элементы
С DialogFragment чтобы показать диалог с несколькими элементами выбора, он показывает диалог, но без элементов нет флажков для выбора.
вот как я вызываю диалог:
botAddMedicacion.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DialogFragment fragAddMedic = new AnadirMedicacionFragment();
fragAddMedic.show(getFragmentManager(), "addMedicacion");
}
});
и это AnadirMedicacionFragment код:
final CharSequence[] items={".NET","J2EE","PHP"};
@Override
public Dialog onCreateDialog(Bundle savedInstanceState){
medicSelec = new ArrayList();
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage(R.string.anadir_medicacion);
// elementos de la lista
builder.setMultiChoiceItems(items, null, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
if (isChecked) {
medicSelec.add(which);
} else if (medicSelec.contains(which)) {
medicSelec.remove(Integer.valueOf(which));
}
}
});
// boton ok
builder.setPositiveButton(R.string.anadir, new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
// boton cancelar
builder.setNegativeButton(R.string.cancelar, new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
return builder.create();
}
список элементов передается в builder.setMultiChoiceItems(предметы, null[...]
Кажется, это работает, но нет флажков или списка.
1 ответов
проблема в том, что у вас есть setMessage
и setMultiChoiceListener
. У вас может быть только один из них. Попробуйте это:
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle(R.string.anadir_medicacion);