Ich habe ein EditText-Feld, dass ich auf Fehler prüfe.
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.
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.