I Multi Auswahl-Dialog AlertDialog.Buiilder mitMulti Wahl DialogFragment markierten Produkte zählen
mDialog = new AlertDialog.Builder(getActivity()).setIconAttribute(mIcon).setTitle(mTitle)
.setPositiveButton(mPositiveButton, new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
mCallbacks.onPositiveClick(((AlertDialog) getDialog()).getListView().getCheckedItemPositions(), mChoices);
}
}).setNegativeButton(mNegativeButton, new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
mCallbacks.onNegativeClick(((AlertDialog) getDialog()).getListView().getCheckedItemPositions());
}
}).setMultiChoiceItems(mChoices, mCheckedItems, new OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
if (mIsCheckedRequired) {
AlertDialog alertDialog = ((AlertDialog) dialog);
if (alertDialog.getListView().getCheckedItemCount() == 0)
alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false);
else
alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(true);
}
}
}).create();
Auch ich positive Taste deaktiviert machen möchten, wenn keine Elemente geprüft:
@Override
public void onStart() {
super.onStart();
if (mIsCheckedRequired && mDialog.getListView().getCheckedItemCount() == 0) {
mDialog.getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false);
}
}
mDialog.getListView() .getCheckedItemCount() gibt vor dem Klick immer 0 zurück, gibt es eine Möglichkeit, die Anzahl der geprüften Elemente vor dem Klick zu kennen, außer dass das Feld mCheckedItems Array durchlaufen wurde?
Versuchen Sie benutzerdefinierte mit Ihrem eigenen Layout-Datei – MathaN