1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

"fromUser" in editText/TextWatcher (wie SeekBar)

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von AquaBall, 24.03.2012.

  1. AquaBall, 24.03.2012 #1
    AquaBall

    AquaBall Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    121
    Erhaltene Danke:
    2
    Registriert seit:
    29.02.2012
    SeekBar/onProgressChanged hat einen Parameter: fromUser.
    Kann ich so einen Parameter für ein editText/TextWatcher auch irgendwie herausholen?


    Hier der Hintergrund:
    Mein Programm hat als wesentliche Funktion, dass sich (viele) EingabeFelder gegenseitig(!) beeinflussen.
    (Möglichst komfortable/flexible Eingabe von Zahlenwerten in komplexen Zusammenhängen.)

    Dass ein SeekBar ein EditText ändert, ist ja noch normal. Ich mach's auch umgekehrt, EditTexts verändern SeekBar.
    Und sogar EditTexts beeinflussen weitere EditTexts(und dadurch wieder SeekBars.)

    Beispiel: 3 EditText-Felder müssen in Summe immer 100 ergeben.
    Allerdings wird nicht einfach in einem bestimmten Feld die Differenz eingetragen, sonder alle 3 Felder sind völlig gleichberechtigt. JEDES Feld (außer das aktuelle manuell bearbeitete) kann der zu korrigiernde Kandidat werden. Es ist sogar möglich, dass (Je nach Option) vielleicht beide "freien" Felder in einem gewissen Verhältnis gleichzeitig geändert werden.
    Eine spezielle Klasse im Hintergrund stellt fest, welches Feld bei einer Änderung nachkorrigiert werden muss.
    Klingt kompliziert, hab ich aber sehr gut im Griff. Funktioniert im Test (in einem Consolen-Programm) wunderbar.

    Nun hab ich das aber in Android eingebaut.
    Dort funktionierts theoretisch auch, über afterTextChanged in einem TextWatcher.
    Das Nachkorrigieren eines Feldes löste aber ein neues afterTextChanged im KorrekturFeld aus, was den Kreislauf wieder neu anwirft. Dadurch lauf ich in eine EndlosSchleife. Und Abbruch über StackOverflow.

    Beim Zusammenspiel mit SeekBars passiert dies nicht, weil
    SeekBar extra den Parameter fromUser mitschickt.
    Kann ich so einen Parameter für ein editText auch irgendwie herausholen?
     
  2. AquaBall, 25.03.2012 #2
    AquaBall

    AquaBall Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    121
    Erhaltene Danke:
    2
    Registriert seit:
    29.02.2012
    Für alle die's interessiert:
    Hab zwar nicht das selbe gefunden, aber über isFocused() kann ich für meinen Fall eine ähnliche/gleichbedeutende Information rausholen.

    Außerdem kann ich dadurch an anderer Stelle mit requestFocus() auch wleches Feld nun korrigiert wird.

    Mein Programm funktioniert inzwischen perfekt!
     

Diese Seite empfehlen