【问题标题】:Soft keyboard shows a "Go" button instead of a "Search" button when entering some text in a SearchView widget在 SearchView 小部件中输入一些文本时,软键盘显示“开始”按钮而不是“搜索”按钮
【发布时间】:2014-10-05 06:10:06
【问题描述】:

我已关注this tutorial 在操作栏中配置了一个搜索视图小部件。几乎一切正常,除了软键盘没有显示右键。键盘没有显示“搜索”按钮,而是显示了“开始”按钮,它还带我进入另一个活动,我确信它不可能是正确的。

您知道如何让键盘显示“搜索”按钮?还有为什么我们必须把这段代码放在可搜索的活动中:

 <intent-filter>
        <action android:name="android.intent.action.SEARCH" />

提前致谢。

【问题讨论】:

    标签: android android-actionbar android-softkeyboard searchview


    【解决方案1】:

    这很容易。但是,我不确定为什么默认情况下它不显示正确的按钮:

    无论如何,这是你需要做的:

    在您的可搜索配置中添加这一行:

    android:imeOptions="actionSearch"
    

    所以你有类似这样的东西:

    <?xml version="1.0" encoding="utf-8"?>
    <searchable xmlns:android="http://schemas.android.com/apk/res/android" 
        android:label="@string/search_label"
        android:hint="@string/search_hint"
        android:imeOptions="actionSearch"/>
    

    我确定这应该可以解决您的问题,但正如我所提到的,我不确定为什么“搜索”按钮没有从一开始就显示出来。

    【讨论】:

      【解决方案2】:

      用这个

        searchview.setImeOptions(EditorInfo.IME_ACTION_SEARCH);
      

      看看这个教程,它将解决你对意图过滤器理解的第二个问题 Intent Filters

      希望对你有所帮助。

      【讨论】:

      • 我没有任何 EditText :(
      • 它给出了这个警告“调用需要 API 级别 14(当前最低为 11):android.widget.SearchView#setImeOptions”
      • 好的,现在我确定这是因为我需要手动设置 imeOptions,但是你知道为什么这不是自动完成的吗?在我尝试在操作栏中显示 searchview 小部件之前,我将 searchview 直接放在活动中,并且键盘上的按钮没有任何问题:S
      • 能否请您提供清单代码,而这些类型的异常会在我们开发时出现,所以请不要紧张兄弟。
      • 在我的平台上检查您的问题时,没有任何错误或发现什么
      【解决方案3】:

      尝试获取您的 SearchView 并调用以下方法:

      SearchView searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView();
      searchView.setSubmitButtonEnabled(true);
      

      【讨论】:

      • 这只会在操作栏中显示一个提交按钮,但不会更改软键盘中的按钮
      猜你喜欢
      • 2023-04-03
      • 1970-01-01
      • 1970-01-01
      • 2020-07-05
      • 1970-01-01
      • 2014-12-06
      • 2017-04-19
      • 1970-01-01
      • 2017-08-10
      相关资源
      最近更新 更多