我正在尝试使用AndroidX制作首选项屏幕,但遇到了一个小问题......
当我使用虚拟键盘上的“确定”按钮验证我的输入时,不会验证首选项。(键盘被隐藏了,仅此而已...)
使用AndroidX,我们不能再覆盖showDialog()
...EditTextPreference
而且我找不到另一种方法来访问对话框以将其关闭。
总之,我希望:虚拟键盘上按钮的 DONE 操作验证 AlertDialog。
这是我的示例代码:
XML 文件
<PreferenceScreen xmlns:app="http://schemas.android.com/apk/res-auto">
<EditTextPreference
app:key="pref_1"
app:title="Test"
app:useSimpleSummaryProvider="true" />
</PreferenceScreen>
偏好活动
public class MySettingsActivity extends AppCompatActivity implements
PreferenceFragmentCompat.OnPreferenceStartFragmentCallback {
[...]
public static class HeaderFragment extends PreferenceFragmentCompat {
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
setPreferencesFromResource(R.xml.header_preferences, rootKey);
EditTextPreference pref1 = getPreferenceManager().findPreference("pref_1");
pref1.setOnBindEditTextListener(new EditTextPreference.OnBindEditTextListener() {
@Override
public void onBindEditText(@NonNull EditText editText) {
editText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS);
editText.setImeOptions(EditorInfo.IME_ACTION_DONE);
}
});
}
}
}