Falsches Datumsformat in EditTextPreference in PreferenceActivity

  • Hallo, schon wieder ich...
    Komischerweise zeigt ein von EditTextPreference abgeleitetes Objekt im Programmcode erzeugtes Objekt. wenn es mit

    Code
    editTextgeburts.getEditText().setInputType(InputType.TYPE_CLASS_DATETIME)


    auf das Datumsformat gesetzt wird beim Öffnen immer nur die Zeichen für das englische Format an (:/) und kein ".", wie es ja sonst angeboten wird.
    1: Wie kann ich diesem Objekt das vom Code aus beibringen, das es doch bitte die eingestellten Formate nutzen soll, wie es das doch auch tut, wenn man die Definition des EditTextPreference in einer xml Datei über android:inputType="date" macht.
    2: Wie kann kann man (ich) in einer

    Code
    onPreferenceChange(Preference preference, Object newValue)


    Methode ein aufgefüllten Datumsstring (vorher etwa 1.1.1 , aufgefüllt 01.01.2001) in die übergebene preference hinein zwängen. setText() gibt es dort nicht.
    Fragende Grüße, schymura :S

  • Hallo,
    es scheint so zu sein, dass in der PreferenceActivity das englisch/amerikanische Datumsformat fest "verdrahtet" ist. Es scheint nirgends im Netz auch nur annäherungsweise eine Lösung zu geben, wie man PreferenceActivity dazu überreden kann auch den Punkt (.) bei den Zeichen im Datenformat anzuzeigen.
    Ansonsten ist die class PreferenceActivity schon ganz gut zu gebrauchen. Wenn ich nur wüsste, wie man es hinbekommt, dass immer sofort die Eingabetastatur in den Sonderzeichen/Zahlenmodus schaltet beim Öffnen.
    Wartenden , freundliche Grüße,denn vielleicht hat ja noch jemand von Euch einen Anregung,
    schymura ^^

  • Hallo,
    noch ein kleiner Nachtrag:
    In einer "PreferenceActivity" funktioniert das normale Setzen der Eingabeart für ein Datum für "EditTextPreference" nur, wenn man es in der XML-Datei mit "android:inputType="date"" setzt.
    Wenn man es im Programmcode über

    Code
    setInputType(InputType.TYPE_CLASS_DATETIME)

    setzen will, wird wie oben schon geschrieben, immer das englisch-amerikanische Datumsformat gesetzt.
    Wenn man die Zahlen UND den Punkt haben will, so muss man

    Code
    setInputType(InputType.TYPE_CLASS_DATETIME |InputType.TYPE_DATETIME_VARIATION_DATE);

    setzen.
    Dann klappts auch mit dem Nachbarn.....
    Schöne Grüße, schymura ;)

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!