このライブラリにはEditTextPreferenceダイアログの入力タイプをカスタマイズできる可能性があるため、androidXライブラリを使用します。AndroidXは、元のAndroidサポートライブラリを大幅に改善したものであるため、このライブラリを使用することをお勧めします。AndroidXの詳細については、こちらをご覧ください。
onCreatePreferenceメソッド内でEditTextPreferenceを使用するコードは次のとおりです。
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
setPreferencesFromResource(R.xml.preference, rootKey);
androidx.preference.EditTextPreference editTextPreference = getPreferenceManager().findPreference("use_key_from_editTextPreference_in_xml_file");
editTextPreference.setOnBindEditTextListener(new androidx.preference.EditTextPreference.OnBindEditTextListener() {
@Override
public void onBindEditText(@NonNull EditText editText) {
editText.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_SIGNED);
}
});
}
このコードを使用してeditTextPreferenceをクリックすると、ダイアログがポップアップ表示され、キーボード入力タイプは数値のみになります。