搜索视图未显示在工具栏中

2024-02-03

我实际上在支持 AppCompat v7 lib 24.0.0 上的 Searchview 有问题。

SearchView 不显示任何文本和输入文本(看屏幕截图)

搜索查询工作完美。

这是我的菜单

<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=".MainActivity">
    <item
        android:title="@string/search"
        android:id="@+id/action_search"
        android:icon="@drawable/ic_search_24dp"
        app:showAsAction="ifRoom|collapseActionView"
        app:actionViewClass="android.support.v7.widget.SearchView"/>
</menu>

这是我的 onCreateOptionsMenu;

menu.clear();
        inflater.inflate(R.menu.menu_search, menu);
        MenuItem searchItem = menu.findItem(R.id.action_search);
        searchView = (SearchView) MenuItemCompat.getActionView(searchItem);
        searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
            @Override
            public boolean onQueryTextSubmit(String query) {
                //Perform the final search

                return false;
            }

            @Override
            public boolean onQueryTextChange(String newText) {
                //Text has changed, apply filtering?

                return false;
            }
        });

我希望有一个人可以帮助我。 :)

塞巴斯蒂安


我也有这个问题,我已将工具栏高度更改为绝对值而不是wrap_content并解决了问题。我不知道为什么,但我认为这个问题与 CoordinatorLayout 和工具栏的高度有关,某些东西破坏了 SearchView 的高度。如果我使用 LinearLayout 而不是 CoordinatorLayout 和 AppBarLayout 它可以工作。

menu.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/action_search"
        android:icon="@drawable/ic_search_white_24dp"
        android:orderInCategory="100"
        android:title="@string/action_search"
        app:actionViewClass="android.support.v7.widget.SearchView"
        app:showAsAction="always|collapseActionView" />
</menu>

布局.xml

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.design.widget.AppBarLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:theme="@style/AppTheme.AppBarOverlay">

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar"
            android:layout_width="match_parent"
            android:layout_height="@dimen/toolbar_height"
            android:paddingTop="@dimen/toolbar_top_padding"
            android:background="?attr/colorPrimary"
            app:title="@string/drawer_item_publisher_customization"
            app:layout_scrollFlags="scroll|enterAlways|snap"
            android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
            app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />

        <android.support.design.widget.TabLayout
            android:id="@+id/tabLayout"
            app:tabGravity="fill"
            style="@style/DefaultTabLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

    </android.support.design.widget.AppBarLayout>

    <android.support.v4.view.ViewPager
        android:id="@+id/viewPager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />

</android.support.design.widget.CoordinatorLayout>

工具栏高度值:

<dimen name="toolbar_height">75dp</dimen>

Before absolute height value (layout_height:"wrap_content"):
Before absolute height value

After absolute height value (layout_height:"75dp"):
After absolute height value

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

搜索视图未显示在工具栏中 的相关文章

随机推荐

  • 更改 csv 中的列顺序(python)

    我制作了一个脚本 它读取给定的输入文件 csv 以某种方式操作数据并写入输出文件 csv 就我而言 我给定的输入文件如下所示 sku article name 1 MyArticle 对于我的输出文件 我需要重新排列这些列 还有更多 但我认
  • PHP的password_hash函数值对于每个字符串都不相同

    我尝试使用散列用户密码密码哈希 PHP函数 但是 它的函数是工作散列 而不是常量 第四次测试结果 1 2y 12 SRmipqM7AsYkx3Xc8QGHNex69rGXeVyWGTYrh9T8sh1cP3UrdjfQi 2 2y 12 z
  • 我需要带有称重选项的随机算法

    我的 NET 项目中有一个要求 我需要从集合中选择一个项目 每个项目都有一个分配给它的权重 1 到 10 之间的整数 我需要一个随机生成器来考虑这个权重 即权重越高 选择对象的机会就越大 快速复制 粘贴 C 代码 以防有人偶然发现这一点 c
  • Google Appengine Ndb GQL 查询最大限制是多少?

    我正在环顾四周 以便得到答案 从 Google AppEngine 上的 Ndb 上的 GQL 查询中可以得到的最大结果限制是多少 我正在使用带有游标的实现 但如果我一次检索它们将会快得多 这取决于很多因素 例如实体的大小以及需要在索引中查
  • 同步语句中的wait()、notify()和notifyAll()

    尝试调用时出现以下错误notifyAll 在同步语句中 在同步上下文之外调用 Object notify 例子 final List list new ArrayList synchronized list invoked notifyAl
  • 是否有适用于 IE6 和 7 的 W3C 兼容 hack?

    IE6 和 7 中是否有有效的 W3C 兼容性破解方法 我相信使用 hack 时存在 W3C 不兼容性 例如 使用以下 CSS 代码 如本文选项 2 中的建议 http webdesignerwall com tutorials css s
  • 使用 Jest 和 React 测试库测试 `img.onLoad`/`img.onError`

    今天下午 我们的团队在使用 Jest 为我们的项目编写 React 测试库 RTL 测试时遇到了一个场景
  • 反序列化 JSON 时出错无法将 JSON 对象反序列化为“System.String”类型

    我有以下 JSON workspace name Dallas dataStores http 8080 geoserver rest workspaces Dallas datastores json coverageStores htt
  • 尝试在 Windows PC 上禁用处理器空闲状态(C 状态)

    我需要防止处理器进入空闲状态 非C0 C状态 诚然 我对处理器 C 和 P 状态了解不多 所以请耐心等待 我们使用来自第三方供应商的相机 该相机偶尔会提供损坏的帧 供应商已确定 当 CPU 进入空闲状态时 它会干扰通过火线传输帧 为了确认这
  • Python 和服务器负载

    有没有办法使用Python定期检查Linux机器的服务器负载并以某种方式通知我 Python 有一个函数可以获取系统的平均负载 作为 os 模块的一部分 gt gt gt import os gt gt gt os getloadavg 1
  • 如何为 ElevatedButton 上的背景颜色设置动画?

    当我的 ElevatedButton 将其状态更改为禁用时 我想在两种背景颜色之间创建淡入淡出 我该怎么做 final buttonStyle ElevatedButton styleFrom backgroundColor Colors
  • C++ 从进程获取用户名

    我有一个进程句柄 HANDLE hProcess OpenProcess PROCESS QUERY INFORMATION PROCESS VM READ 0 THE PROCESS ID 如何获取正在运行该进程的用户的用户名 我正在使用
  • ASP.NET Core Url.Action 返回空字符串

    在 stackoverflow 上浏览了 3 小时后 我没有找到问题的解决方案 所以我怀疑我的项目中有一些特别的东西 我在 Visual Studios 2017 上有一个 ASP NET Core 2 0 WebApplications
  • 获取初始实体框架迁移脚本

    我刚刚安装了 Entity Framework Migrations 向类添加了一个属性 并尝试了 EF Migrations 我的开发数据库得到了及时更新 到目前为止 一切都很好 现在 我想为此创建一个更改脚本initial使用生产数据库
  • 更改 Google 工作表上特定单元格的背景颜色

    我正在处理这个绑定到 Google Sheets 电子表格的脚本 我在其中从时间驱动的触发器运行这个函数 我希望能够定位工作表上的特定单元格 如果单元格值 打开 以便我可以更改单元格的背景颜色 我想知道我该如何去做这项工作 我能够定位单元格
  • 在 Meteor.js 中查找当前会话 ID

    如何找到客户端当前的Session Id 我能够获得看起来像是最后一个会话 ID 而不是当前会话 ID console log Meteor default connection lastSessionId 这个措辞有点令人困惑 但是 la
  • 无法在 p:media 中显示从 Primefaces 中的流内容生成的 PDF

    我正在尝试显示在新浏览器窗口中打开的内联 PDF 我有以下场景 在由ajax调用的一些ActionListen中 我生成PDF内容 将数据放入会话中 并发送要执行的Javascript window open打开新页面以显示 PDF 在打开
  • 如果日期带有前导零,则 getDay() 返回错误的日期[重复]

    这个问题在这里已经有答案了 我在使用 javascript 时遇到了这个问题 我从数据库中获取 yyyy mm dd 日期 但是当我想使用 getDay 获取星期几时 如果这一天带有前导零 我会得到错误的数字 我写了一个可能的解决方案来将
  • 在 LinkedIn 上分享 描述字段未显示在新用户界面中

    用户在新用户界面上通过 LinkedIn API 上的共享发布的帖子最多会显示在其帐户上 用户消息 评论 图像 标题和链接域 但是 有关在 LinkedIn API 上共享的文档 https developer linkedin com d
  • 搜索视图未显示在工具栏中

    我实际上在支持 AppCompat v7 lib 24 0 0 上的 Searchview 有问题 SearchView 不显示任何文本和输入文本 看屏幕截图 搜索查询工作完美 这是我的菜单 menu menu