[solved] Konzept gesucht: eigener Eingabetyp für Textfelder

  • Wir alle kennen das ja: man kann ein Textfeld definieren und diesem dann einen Eingabetyp zuweisen.


    Ich halte das für den richtigen Ansatz, um da einhaken zu können. (Falls ich falsch liege bin ich für jede Klarstellung dankbar.)


    Ich möchte gern ein TextView haben, in dem ich ganz bestimmte Dinge eingeben kann: [0123456789nNeEwWsS.+-°"' ]
    Allerdings nicht in beliebiger Reihenfolge... Habe ich nNeEwWsS, darf kein +- vorkommen. Der Punkt darf immer nur in der letzten Ziffer sein.
    Die erste Ziffer darf nicht größer als 180 und nicht kleiner als -180 sein, es sei denn, es sind nNsS definiert, dann darf sie nicht größer als 90 und nicht kleiner als -90 sein. Die nächste Zahl darf keinesfalls größer als 59 und auch nicht kleiner als 0 sein. Und sollte es noch eine Zahl geben, so darf auch diese nicht größer als 59 und nicht kleiner als 0 sein.


    Unter iOS wüerde ich mir einen Formatter bauen und an das TextField hängen.


    Was mache ich unter Android mit dem TextView?


    (Die ganz ausgefuchsten werden es erkannt haben. Für alle Anderen: das TextView [richtiger: der EditText] soll Geo-Koordinaten in allen gängigen Formaten annehmen können: 13.4557; 13.4557°; N13.4557; n13.4557°, -13° 45.57'; 13° 45.57'S, E13° 45' 57"; 13°45'57.8"W; Und so weiter.)

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

    Einmal editiert, zuletzt von Marco Feltmann () aus folgendem Grund: Überschrift angepasst, da erledigt.

  • Ich werde auf die Regenechsen verzichten und brav die Eingabe händisch parsen. Alles Andere ist doch Bullshit. ^^

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • +narf+
    TextWatcher tut nur die Hälfte dessen, was es tun soll.


    Nämlich die Eingaben weiterleiten um damit Dinge tun zu können.
    Es liegt aber nicht in meiner Macht dem Textfeld zu sagen 'Hey, den letzten getippen Buchstaben nimmst Du gefälligst nicht an!".
    Genau das bräuchte ich aber für den 'händisch parsen' Ansatz.


    Muss ich jetzt echt eine Referenz auf das EditText mitschleppen und die Eingaben manuell zurücksetzen?
    +seufz+

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • InputFilter in Verbindung mit Patterns.IP_ADDRESS und Patterns.DOMAIN_NAME tut genau das, was ich will.
    Vorausgesetzt, ich stelle ihn so ein wie ich will.


    Geilo. =)

    Je mehr Käse, desto mehr Löcher.
    Je mehr Löcher, desto weniger Käse.
    Daraus folgt: je mehr Käse, desto weniger Käse.


    »Dies ist ein Forum. Schreibt Eure Fragen in das Forum, nicht per PN!«

  • Hoi,


    ist denn dieses Editable nicht "das Innere" des EditTexts? Hab ich beim lesen eig. vermutet, sonst hätt ichs dir nicht vor geschlagen ... sorry. A la "all is a reference" hätts dann ja eig. passend werden können.


    Zu Regexp:
    Wenn mans drauf hat mit denen kann man die komplexesten Sachen in kürzester Zeit machen. Wenn mans nur alle heiligen Zeiten mal macht (so wie ich auch) ist es schon echt nervig, das stimmt ^^
    Aber finden tut man die ein oder andere Regexp, die man evtl. minimal anpassen (für Java quoten etc) und erweitern muss
    http://stackoverflow.com/quest…or-coordinate-using-regex



    Gruß,
    Matze


    EDIT:
    Hehe, hat sich überschnitten. Schön, dass du eine brauchbare Lösung gefunden hast ;)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!