Ich musste nur auf PreferenceFragmentCompat für die Implementierung von Berechtigungen überprüfen, was bedeutet, die Verwendung der Support-Version von EditTextPreference. Leider scheint es, dass getEditText fehlt. Gibt es Arbeit?Android - Keine getEditText-Methode in EditTextPreference mit Preference Support Library
Aktualisierung Gefunden diese issue protokolliert. Scheint, es wurde absichtlich entfernt, aber die Antwort erklärt nicht, wie man das umsetzt, was ich tun möchte.
Der Code, den ich wurde mit wie
folgtfinal EditText editTextTL;
editTextTL = ((EditTextPreference) findPreference("my_preference")).getEditText();
editTextTL.setFilters(new InputFilter[]{new NumericRangeFilter()});
editTextTL.setOnFocusChangeListener(new AmountOnFocusChangeListener());
Meine relevanten Einfuhren
import android.support.v7.preference.EditTextPreference;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceCategory;
import android.support.v7.preference.PreferenceFragmentCompat;
Meine Gradle Abhängigkeiten
compile 'com.android.support:support-v4:23.0.1'
compile 'com.android.support:appcompat-v7:23.0.1'
compile 'com.android.support:preference-v14:23.0.1'
compile 'com.android.support:recyclerview-v7:23.0.1'
Wenn Sie einen leistungsfähigeren verwenden möchten (* d. Verwenden von XML zum Festlegen von Attributen statt Einstellung von Code *) Version der akzeptierten Lösung, empfehle ich Ihnen, einen Blick auf meine Workarounds ** Interessante Dinge ** Teil: https://github.com/Gericop/Android- Support-Preference-V7-Fix –
Danke für den Link, ich musste einige Dinge tun, die Attribute allein nicht bewältigen würden, aber die Styling-Elemente werden nützlich sein. Erstaunlich, wie viel mit dieser Support-Lib kaputt ist. – CodeChimp
Ich habe einen Bug für Google gemeldet, bitte markieren Sie ihn so, dass er bearbeitet werden kann: https://code.google.com/p/android/issues/detail?id=233169&q=EditTextPreference&colspec=ID%20Status%20Priority%20Owner % 20Summary% 20Stars% 20Reporter% 20Opened –