如何在 EditText Preference androidx 中使用数字?
How to use numbers in EditText Preference androidx?
我需要在 androidx 的 EditText 首选项中显示数字键盘。
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>
主要活动:
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) {
}
});
}
我没有得到数字键盘
[![enter image description here][1]][1]
根据this doc android:inputType
is applicable only for EditText
, not EditTextPreference
(which isn't extending EditText
, DialogPreference
instead)。但是您已经想出了如何将 EditText
隐藏在 EditTextPreference
中,所以也许只需在 onBindEditText
中以编程方式在下面的行
中设置数字限制
editText.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD);
(更多信息 HERE)
我需要在 androidx 的 EditText 首选项中显示数字键盘。
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>
主要活动:
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) {
}
});
}
我没有得到数字键盘
[![enter image description here][1]][1]
根据this doc android:inputType
is applicable only for EditText
, not EditTextPreference
(which isn't extending EditText
, DialogPreference
instead)。但是您已经想出了如何将 EditText
隐藏在 EditTextPreference
中,所以也许只需在 onBindEditText
中以编程方式在下面的行
editText.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD);
(更多信息 HERE)