I need to display number keyboard in EditText Preference which is androidx.
proxy.xml:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<EditTextPreference
android:dialogTitle="edittext_dialogtitle_proxy_port"
android:key="edittext_key_proxy_port"
android:inputType="numberPassword"
android:digits="0123456789."
android:summary="Summary"
android:title="Port"/>
</PreferenceScreen>
MainActivity:
public class MainActivity extends PreferenceFragmentCompat {
EditTextPreference mPortField;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);
addPreferencesFromResource(R.xml.proxy);
mPortField = (EditTextPreference) findPreference("edittext_key_proxy_port");
mPortField.setOnBindEditTextListener(new EditTextPreference.OnBindEditTextListener() {
@Override
public void onBindEditText(@NonNull EditText editText) {
}
});
}
I am not getting number keypad
[![enter image description here][1]][1]
according to this doc android:inputType
is applicable only for EditText
, not EditTextPreference
(which isn't extending EditText
, DialogPreference
instead). but you already figured out how to get EditText
hidden in EditTextPreference
, so maybe just set digit limitation programmatically inside onBindEditText
with below line
editText.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD);
(more info HERE)