EditTextPreference als Passworteingabe ....

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • EditTextPreference als Passworteingabe ....

    Hallo Zusammen,

    wie kann man eigentlich mit dem "EditTextPreference" eine Passwort-Eingabe realisieren,
    wo man die Eingabe-Rückmeldung über "*" oder ähnlich sichtbar machen kann.

    Quellcode

    1. <EditTextPreference
    2. android:key="@string/key_Password"
    3. app:defaultValue="@string/pref_Password"
    4. app:key="@string/key_Password"
    5. app:summary="@string/pref_Password"
    6. app:title="@string/prefs_summary_category_Password"/>

    Irgendwie finde ich da derzeit keine Lösung ?

    Viele Grüße
    R.
  • Hallo Ryan,

    die Eingabe
    "android:password="true""
    wurde direkt abgewiesen. (durchgestrichen).

    Die Eingabe

    Quellcode

    1. <EditTextPreference
    2. android:key="@string/key_Password"
    3. android:inputType="textPassword"
    4. app:defaultValue="@string/pref_Password"
    5. app:key="@string/key_Password"
    6. app:summary="@string/pref_Password"
    7. app:title="@string/prefs_summary_category_Password"/>


    hat leider auch nicht zum Erfolg geführt. Es wurden immer noch die Zeichen während der Eingabe angezeigt.

    Hier das Beispiel aus der Simu. (Tippfehler im Text gerade gesehen ;) )



    Diese Angaben hatte ich vorher schon gesehen und ausprobiert, leider ohne Erfolg.

    Was machen ich den falsch ?
    Hier meine Abhängigkeiten zum Vergleich

    Quellcode

    1. dependencies {
    2. implementation 'com.google.android.gms:play-services-maps:17.0.0'
    3. implementation 'org.osmdroid:osmdroid-android:6.1.6'
    4. implementation 'mysql:mysql-connector-java:5.1.49'
    5. implementation 'com.google.android.material:material:1.2.0-alpha06'
    6. implementation 'androidx.appcompat:appcompat:1.1.0'
    7. implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta6'
    8. implementation 'androidx.preference:preference:1.1.1'
    9. }
    Alles anzeigen
    Viele Grüße
    R.
  • Hallo Zusammen,

    folgendes war bei mir die Lösung:

    Siehe auch:
    stackoverflow.com/questions/61…asked-password-text-field

    Hier die Preferences.xml

    Quellcode

    1. <EditTextPreference
    2. android:key="@string/key_Password"
    3. app:defaultValue="@string/pref_Password"
    4. app:key="@string/key_Password"
    5. app:summary="@string/pref_Password"
    6. app:title="@string/prefs_summary_category_Password"/>
    Hier die Klasse:


    Quellcode

    1. KeyPassword.setOnPreferenceChangeListener(this);
    2. if (KeyPassword != null) {
    3. //set input type as password and set summary with asterisks the new password
    4. KeyPassword.setOnBindEditTextListener(
    5. new EditTextPreference.OnBindEditTextListener() {
    6. @Override
    7. public void onBindEditText(@NonNull final EditText editText) {
    8. editText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
    9. KeyPassword.setSummaryProvider(new Preference.SummaryProvider() {
    10. @Override
    11. public CharSequence provideSummary(Preference preference) {
    12. return setAsterisks(editText.getText().toString().length());
    13. }
    14. });
    15. }
    16. });
    17. }
    18. //return the password in asterisks
    19. private String setAsterisks(int length) {
    20. StringBuilder sb = new StringBuilder();
    21. for (int s = 0; s < length; s++) {
    22. sb.append("*");
    23. }
    24. return sb.toString();
    25. }
    Alles anzeigen
    Jetzt muss ich nur noch eine Routine finden, wie ich
    a) beim Aufruf die Eingabe lösche
    b) beim O.K. ein Confirm der Eingabe abfrage.

    Viele Grüße
    R.