androidxmlpreferencesedittextpreference

EditTextPreference inputType=textPassword not working


I've created a SettingsActivity with the template and put an EditTextPreference in my root_preferences.xml. It should contain a password, so I edited it like this:

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="@color/colorBackground">

<EditTextPreference
        android:id="@+id/etPassword"
        android:dialogTitle="Passwort"
        android:inputType="textPassword"
        android:key="pref_password"
        android:selectAllOnFocus="true"
        android:singleLine="true"
        android:title="Passwort" />

My problem is that neither inputType, singleLine nor setAllOnFocus is working. Do you know what's the problem?


Solution

  • You can't do it from XML, but EditTextpreference exposes the EditText so you can do it programmatically. After you load the preferences in your Activity/Fragment, you can do:

       EditTextPreference pref = (EditTextPreference) 
       PreferenceManager.findPreference("edit");  
       EditText prefEditText = pref.getEditText();
       prefEditText.setInputType(InputType.TYPE_CLASS_TEXT); // set properties here
       prefEditText.setSingleLine(true);