android - SearchView 没有获得焦点

标签 android searchview

编辑 对于任何想知道的人,我的问题是我使用的是 android.widget.SearchView 而不是 android.support.v7.widget.SearchView。我希望这可以帮助其他遇到同样问题的人!

原帖

我正尝试按照官方指南在 Android ActionBar 中实现 SearchView:http://developer.android.com/training/search/setup.html

在没有找到问题之后,我终于剥离到最基本的 Hello World 应用程序,令我惊讶的是,这个错误仍然存​​在于一个最小的应用程序中!

这是错误: 搜索图标出现在菜单栏中,没问题。当我单击它时,搜索栏会展开(如预期的那样),但没有光标,也没有出现软键盘。 (我想发图但是我的声望太低了:(

这是相关代码,尽管我实际上只是创建了一个新的 Android 应用程序并将项目添加到 menu/menu_main.xml。 主 Activity .java

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
}

menu_main.xml

<item android:id="@+id/action_search"
    android:icon="@android:drawable/ic_menu_search"
    android:title="@android:string/search_go"
    app:showAsAction="collapseActionView|ifRoom"
    app:actionViewClass="android.widget.SearchView" />

最佳答案

使用这个是 menu.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context="your activity context here"><item
    android:id="@+id/mi_search"
    android:title="@string/search"
    android:orderInCategory="2"
    android:icon="@drawable/searchicon"
    app:showAsAction="collapseActionView|ifRoom"
    app:actionViewClass="android.support.v7.widget.SearchView" />

onCreateOptionsMenu(Menu menu) 中的这段代码:

public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);

    MenuItem searchItem = menu.findItem(R.id.mi_search);
    SearchView searchView = (SearchView) MenuItemCompat.getActionView(searchItem);

    searchView.setOnQueryTextListener(this);

    return super.onCreateOptionsMenu(menu);
}

onOptionsItemSelected() 中:

case R.id.mi_search:
    onSearchRequested();
    break;

关于android - SearchView 没有获得焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28653602/

相关文章:

当 searchview 获得焦点时,Android appcompat 工具栏会拉伸(stretch)

android - 在 Android 中保存大量复选框状态的最佳方法是什么?

java - android studio 找不到指定的文件

java - Android:在没有可搜索 Activity 的情况下提供最近的搜索建议?

android - 单击键盘中的搜索按钮时提交查询

android - 更改 SearchView 按钮和查询的背景颜色

android - 在 SearchView AutoCompleteTextView 中搜索包含特定字符的文本

Android 进度对话框 - Activity 已泄漏窗口 DecorView

android - 无法在 ViewPager 中设置文本

Android 翻译文本未显示在应用程序上