Ich bin neu bei Android und ich weiß nicht mehr darüber. Zum Üben habe ich mit Spinnern, Buttons und deren Attribut manipuliert.Wie eine Schaltfläche programmgesteuert aktivieren, wenn es im Layout deaktiviert ist
Ich habe 4 Spinner und 1. Spinner entscheidet 2. Spinner Werte und so weiter. Ich habe eine Schaltfläche (Android: enabled = "false" in xml), die unter dem 4. Spinner befindet und es hat einen Klick-Listener, sein Click-Ereignis zeigt Toast über das, was Sie in allen Spinner auswählen.
Alle Spinner-Werte sind in String-Array und ich möchte alle Spinner überprüfen und validieren. Wenn einer der Spinner nicht als erster Index des Arrays ausgewählt ist, wird die Schaltfläche aktiviert, andernfalls wird sie deaktiviert.
Ich habe viele Male versucht, aber nicht erwartete Ergebnisse erhalten. Kann mir jemand helfen, mein Problem zu lösen?
Hier ist mein Code für Schaltfläche und Spinner-Validierung:
public boolean isDefaultValue(Spinner spinner){
if (spinner.getSelectedItemPosition() == 0){
resultButton.setEnabled(false);
} else {
resultButton.setEnabled(true);
}
return false;
}
resultButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (isDefaultValue(sp4)) {
Toast.makeText(getApplicationContext(), "Country : " + sp1.getSelectedItem().toString() + "\n" +
"State : " + sp2.getSelectedItem().toString() + "\n" +
"City : " + sp3.getSelectedItem().toString() + "\n" +
"Area : " + sp4.getSelectedItem().toString(), Toast.LENGTH_LONG).show();
}
}
});
** Wenn einer der Spinner nicht ausgewählt ist 1. Index der Array ** Was meinst du damit? – Jerrol
Der Array-Index beginnt immer bei 0, aber Ihr Code deaktiviert die Schaltfläche, wenn die selectedItemPosition == 0 ;. – Jerrol
Außerdem überprüfen Sie nur für einen Spinner, während Sie für alle Spinner überprüfen möchten –