Ber*_*hus 5 android edittextpreference androidx
最近,我将我的 android 项目迁移到了 AndroidX,并使用了 AndroidX 库中的 EditTextPreference。现在,我想将 EditTextPreference 的最大长度设置为 50。我尝试使用:
android:maxLength="50"
Run Code Online (Sandbox Code Playgroud)
但它不起作用。
似乎所有 android 命名空间都不适用于 EditTextPreference 并且没有代码建议,所以我找不到任何相关代码来设置最大长度。如何设置最大长度?
小智 5
您需要按键找到您的 EditTextPreference,然后将 onBindEditTextListener 设置为它并在 onBindEditText 方法中更改布局属性:
EditTextPreference preference = findPreference("edit_text_preference_key");
preference.setOnBindEditTextListener(new EditTextPreference.OnBindEditTextListener() {
@Override
public void onBindEditText(@NonNull EditText editText) {
editText.setInputType(InputType.TYPE_CLASS_NUMBER); // set only numbers allowed to input
editText.selectAll(); // select all text
int maxLength = 2;
editText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(maxLength)}); // set maxLength to 2
}
});
Run Code Online (Sandbox Code Playgroud)
您可以将此代码放在 PreferencesFragment 或 PreferencesActivity 的 onResume() 方法中。
| 归档时间: |
|
| 查看次数: |
810 次 |
| 最近记录: |