Create your own EditTextPreference parameter:
public class CustomEditTextPreference extends EditTextPreference { public CustomEditTextPreference(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); } public CustomEditTextPreference(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } public CustomEditTextPreference(Context context, AttributeSet attrs) { super(context, attrs); } public CustomEditTextPreference(Context context) { super(context); } }
Declare it in the xml file for preferences:
<?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <com.example.CustomEditTextPreference android:key="test_key" android:title="Title" /> </PreferenceScreen>
Update your PreferenceFragmentCompat with the following lines:
public class PrefFragment extends PreferenceFragmentCompat { private static final String DIALOG_FRAGMENT_TAG = "android.support.v7.preference.PreferenceFragment.DIALOG"; @Override public void onCreatePreferences(Bundle bundle, String s) { addPreferencesFromResource(R.xml.settings); } @Override public void onDisplayPreferenceDialog(Preference preference) {
}
source share