我正在使用支持库处理片段和嵌套片段。我无法在Android上隐藏虚拟键盘
我有一个场景,我从现有的片段中添加一个新的片段(其中包含一个EditText)。当用户点击EditText时,会显示一个虚拟键盘。但是,当键盘打开时,用户可以从ActionBar按下主页按钮,从堆栈中删除片段,但键盘仍然保持打开状态。我无法在键盘上强行关闭,我尝试了所有代码片段。鉴于描述的情况,任何人都可以指导我如何解决这个问题?
编辑:我做了一个回调函数,我从片段onDestroy调用。它承载的所有片段在MainActivity实现这个回调:
@Override
public void onHideSoftKeyboard(EditText editText) {
// HIDE SOFT KEYBOARD HERE
final InputMethodManager imm = (InputMethodManager)this.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);
Toast.makeText(this,"KEYBOARD HIDDEN",Toast.LENGTH_LONG).show();
}
我得到的吐司消息和片段上的后退按钮被破坏(动作条后退按钮),键盘上的按键仍然存在。
@Override
public void onDestroy() {
hideSoftKeyboard.onHideSoftKeyboard(editTextComment);
super.onDestroy();
}
请检查我的答案[在此堆栈溢出线程](http://stackoverflow.com/a/23934639/1773155)。这是对我有用的唯一方式。 –