我正在 Droid Incredible 上开发(并且也在 1.5 AVD 模拟器上进行了测试),我的选项卡小部件中的一个选项卡由一个列表视图和一行带有 EditText 和一个发送按钮(用于聊天功能)组成.单击“发送”后,我使用以下方法关闭软键盘,但它不起作用。这与我在其他地方发现的人们认为正确的代码相同。
看到我遗漏了什么吗?
// in Button's onClick():
EditText chatTextBox = (EditText) findViewById(R.id.chat_entry);
// Handle button click ...
chatTextBox.setText("");
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(chatTextBox.getWindowToken(), InputMethodManager.HIDE_IMPLICIT_ONLY);
我也尝试将标志更改为 0。没有运气。有谁知道怎么回事??
\*\*\*\*编辑\*\*\*\* 刚刚意识到我最初使用的是 hideSoftInputFromInputMethod()
而不是 hideSoftInputFromWindow()
。改变它并没有让它工作……
原文由 stormin986 发布,翻译遵循 CC BY-SA 4.0 许可协议
将 HIDE_IMPLICIT_ONLY 更改为 0 就可以了(在我从 — 更改为
hideSoftInputFromWindow()
hideSoftInputFromInputMethod()
)。但是我不确定为什么 HIDE_IMPLICIT_ONLY 不起作用,因为我没有通过长按菜单明确打开键盘。