Android EditText.setError() funktioniert nicht nach Rotation

Natac

Bekanntes Mitglied
Ich habe ein EditText-Feld, dass ich auf Fehler prüfe.

Java:
private void checkField(){
  this.myfield.setError(null); // Fehler löschen
  this.myfield.setCompoundDrawables(null, null, null, null); // Icons löschen

  // Some stuff

  String msg = // create message
  this.myfield.setError(msg, this.infoIcon); //"Error" mit eigenem Icon setzen
}[/Java]

[c]infoIcon[/c] durchläuft im [c]onCreate[/c] diese Methode:
[code=Java] protected Drawable initDrawable(final Drawable drawable) {
        if (drawable != null) {
            drawable.setBounds(new Rect(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight()));
        }
        return drawable;
    }

Die Kuriosität ist nun folgende:
Eigentlich funktioniert alles wunderbar. Ich erhalte das "Fehler-Popup" mit meinem Icon. DREHE ich nun das Tablet, während mein Icon + Popup angezeigt wird, so bleibt das Popup (mit korrektem Text) bestehen, das Icon wird allerdings zum Standard-Error-Icon. Ändere ich nun ein Zeichen in [c]myfield[/c], so wird die Methode [c]checkField[/c] erneut aufgerufen und die Meldung wird nun wieder mit meinem eigenen Icon angezeigt. :bahnhof:

Hat jemand eine Idee, warum das Tabelt nach dem drehen "mein Icon" nicht anzeigt, wohl aber, wenn ich die Methode erneut aufrufe!?

Edit: Der Code (und damit der Programmfluss) ist fürs Forum verkürzt. In meinem Produktivcode endet checkField() nicht immer damit, dass das infoIcon gesetzt wird. Aber da das hier eigentlich nichts zur Sache tut, habe ich mal nur den Code gepostet, den ich für diese Problem für relevant halte. Ich habe es auch getestet: Der Code wird 100%ig ausgeführt, nur eben mit dem falschen Icon, obwohl ich das richtige Icon an setError() übergebe.
 

dzim

Top Contributor
Ich denke es wird einfach nur mit den Standardwerten befüllt - es kann sein, dass du die #onResume- oder #onConfigurationChange-Methoden überschreiben musst und dort noch mal #checkField() aufrufen musst.
Aber ich gebe zu, dass das kein Thema ist, mit dem ich mich bisher oft beschäftigen musste.

P.S.: Bei der letzten Methode kann es sein, das du dazu im Manifest an der Activity noch was eintragen musst - dass du dich um Orientation-Changes selbst kümmerst... Schau dir das noch mal bitte an.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Text input into editText Android & Cross-Platform Mobile Apps 2
Besset Android Edittext onTextChange endlosschleife Android & Cross-Platform Mobile Apps 2
A Mehrere EditText-Komponenten sollen zusammenarbeiten Android & Cross-Platform Mobile Apps 2
B Absturz der App bei leeren Edittext Android & Cross-Platform Mobile Apps 14
S Android Absoluter Neuling: EditText zur Laufzeit verändern bzw. über Button Android & Cross-Platform Mobile Apps 2
M Android Edittext width passend zum Text Android & Cross-Platform Mobile Apps 1
S Dynamische EditText View eingaben in Datenbank speichern Android & Cross-Platform Mobile Apps 0
D Android EditText und TextView haben unterschiedliche größen innerhalb einer TableRow Android & Cross-Platform Mobile Apps 18
C EditText Android & Cross-Platform Mobile Apps 1
N Android EditText: Numpad statt Tastatur einblenden Android & Cross-Platform Mobile Apps 2
P Android EditText zeigt keine Umlaute Android & Cross-Platform Mobile Apps 6
P EditText mehrere Zeilen - verschiedene Farbe Android & Cross-Platform Mobile Apps 3
M PythonInterpreter funktioniert nicht richtig NoClassDefFoundError Android & Cross-Platform Mobile Apps 1
W Wie funktioniert das mit den Fingerabdruck Login? (Meinung) Android & Cross-Platform Mobile Apps 13
Besset Android http request an interne ip adresse funktioniert nicht Android & Cross-Platform Mobile Apps 8
J App funktioniert auf Android 5, auf 6 nicht Android & Cross-Platform Mobile Apps 2
L Android Android Studio - Exportierte APK funktioniert nicht Android & Cross-Platform Mobile Apps 6
L Android Methode funktioniert nicht unter Android Android & Cross-Platform Mobile Apps 3
J android Spinner funktioniert nicht Android & Cross-Platform Mobile Apps 14
K MediaPlayer Soundklasse Start und Stop (stop funktioniert nicht) Android & Cross-Platform Mobile Apps 1
K Wie funktioniert die App Fatbooth? Wie viel Bildbearbeitung bringt Android mit? Android & Cross-Platform Mobile Apps 1
S SPLIT funktion bei STRING funktioniert nicht! Android & Cross-Platform Mobile Apps 4
J Android SimpleDateFormat parser funktioniert nicht richtig? Android & Cross-Platform Mobile Apps 4
B Erste Android-App: setContentView(R.layout.main) funktioniert nicht Android & Cross-Platform Mobile Apps 6
D Android OnClickListener funktioniert auf LinearLayout nicht Android & Cross-Platform Mobile Apps 6
S Auflösungsanpassung funktioniert nicht Android & Cross-Platform Mobile Apps 2
E LayoutInflater funktioniert nicht Android & Cross-Platform Mobile Apps 2
A Fehler beim Starten eines Intents - alles in einer Klasse funktioniert... Android & Cross-Platform Mobile Apps 4
F Android: Socket.isConnected funktioniert nicht Android & Cross-Platform Mobile Apps 4
W Command funktioniert nicht Android & Cross-Platform Mobile Apps 5
X FileConnection - funktioniert bei mir nicht. Android & Cross-Platform Mobile Apps 7
J Image reinladen funktioniert nicht. Android & Cross-Platform Mobile Apps 13

Ähnliche Java Themen

Neue Themen


Oben