Android : so deaktivieren Sie die CheckBox in der AlertDialog?
Ok, Jungs...ich brauche zum erstellen eines Alert-dialog mit 3 Kontrollkästchen. Wenn Sie das Kontrollkästchen oben geklickt wird, 2 sollte ein anderer angeklickt werden und deaktiviert !! Ich mache Sie darauf geklickt, aber nicht deaktiviert. Und ich habe keine Ahnung, wie das geht.
@Override
protected Dialog onCreateDialog (int id) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("AA");
builder.setMultiChoiceItems(mStrings, mCheckedItems, new DialogInterface.OnMultiChoiceClickListener() {
public void onClick(final DialogInterface dialog, int which, boolean isChecked) {
switch (which) {
case 0: {
if(isChecked==true) {
for (int i = 1; i<=2; i++) {
((AlertDialog) dialog).getListView().setItemChecked(i, true);
}
}
if (isChecked==false) {
for (int i = 1; i<=2; i++) {
((AlertDialog) dialog).getListView().setItemChecked(i, false);
}
break;
}
Diese Lösung ist nicht gut. Einige Male seine nicht klicken Sie auf alle Kontrollkästchen. Haben jemand eine Idee ?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie in der Lage sein zu nennen .setEnabled(false) auf die beiden Kontrollkästchen, die Sie deaktivieren möchten, in Ihrem onClick () - listener. Aus Neugier, warum bist du mit einer for-Schleife zu loop-thru 2 Elemente und setzen Sie Sie überprüft. Es scheint mir, dass der Aufruf .setChecked() auf die beiden in 2 aufeinander folgenden aufrufen würde, vereinfachen diesen Prozess.
code-Beispiel:
machen mCheckeditems[i]=false, wenn u wollen, dass die checkbox nicht aktiviert oder Umgekehrt