执行硬件搜索后关闭软键盘

时间:2011-03-02 19:14:18

标签: android android-widget

我有一个Activity,可以在我的应用中执行搜索。我将此Activity设置为硬件搜索按钮的处理程序。这一切都很有效。

如果用户导航到我的“活动”,请输入搜索查询,然后点击“搜索”按钮,然后通过以下方式关闭软键盘:

    InputMethodManager imm = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromWindow(etQuery.getWindowToken(), 0);   

etQuery 是我的EditText字段。

但是,如果用户点击硬件搜索按钮,则显示搜索输入重叠,并且允许用户输入文本,他们这样做,点击“开始”我的活动获取输入并成功执行搜索。但是,软键盘仍然可见。

即使我打电话给上面的键盘解雇代码,它实际上也没有用。我假设因为启动软键盘的窗口[令牌]实际上并不是 etQuery EditText - 它是由硬件搜索工具启动的。因此,根据EditTexts标记要求它关闭无效。

此时,我并不在乎谁打开软键盘,我只是想让它关闭。

无论是谁打开软键盘,我如何强制关闭软键盘?

1 个答案:

答案 0 :(得分:0)

我通过将以下属性添加到清单中的activity来解决了这个问题:

  

机器人:windowSoftInputMode = “stateHidden”