【问题标题】:Dismiss Soft Keyboard after Hardware Search is performed执行硬件搜索后关闭软键盘
【发布时间】:2011-03-03 04:30:43
【问题描述】:

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

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

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

etQuery 是我的 EditText 字段。

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

即使我调用了上面的键盘关闭代码,它实际上也不起作用。我假设因为启动软键盘的窗口 [token] 实际上不是 etQuery EditText - 它是由硬件搜索工具启动的。因此,根据 EditTexts 令牌要求它关闭无效。

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

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

【问题讨论】:

    标签: android android-widget


    【解决方案1】:

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

    android:windowSoftInputMode="stateHidden"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-07
      • 1970-01-01
      • 2012-07-22
      • 2011-07-29
      • 1970-01-01
      • 2013-12-03
      • 2013-12-09
      相关资源
      最近更新 更多