确认EditTextPreference对话框后,Android软键盘保持打开状态

时间:2016-01-14 20:11:48

标签: java android android-fragments android-activity android-softkeyboard

背景信息:我正在使用PreferenceFragmentActivity(Android 4.4.2 - API 19)处理设置。

问题:在EditTextPreference生成的对话框中单击“确定”时,软键盘保持打开状态。

尝试的解决方案:手动关闭片段内的软键盘onSharedPreferenceChanged。如果用户更改确认文本,则有效。如果用户取消,则正常工作。它还会产生另一个问题:当用户按完成时,更改文本,关闭键盘,但保持对话框打开

问题:当用户取消确认按完时,如何关闭键盘和对话框,这是一个非常好的正常和预期的行为。

2 个答案:

答案 0 :(得分:0)

你可以试试这个:

View view = this.getCurrentFocus();
if (view != null) {  
    InputMethodManager inputMethodManager = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
    inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0);
}

强制Android使用InputMethodManager隐藏虚拟键盘。

答案 1 :(得分:0)

我遇到了同样的问题。检查你是否有 android:windowSoftInputMode="stateHidden" AndroidManifest.xml 中 <activity> 标记中的属性 尝试删除此字符串。这对我有帮助