java - Android无法将搜索按钮添加到选项菜单

标签 java android

我正在关注这个Tutorial 但我无法在选项菜单上显示一个简单的搜索按钮。 代码:

ma​​in_activity_actions.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <!-- Search, should appear as action button -->
    <item android:id="@+id/action_search"
          android:icon="@drawable/ic_action_search"
          android:title="@string/action_search"
          android:showAsAction="ifRoom" />
    <!-- Settings, should always be in the overflow -->
    <item android:id="@+id/action_settings"
          android:title="@string/action_settings"
          android:showAsAction="never" /> </menu>

将此添加到 MainActivity.java

public boolean onCreateOptionsMenu(Menu menu) {

    // Inflate the menu; this adds items to the action bar if it is present.
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.main_activity_actions, menu);
    return super.onCreateOptionsMenu(menu);

    }

应用程序加载正常但没有图标显示,我已经下载了标准图标并将它们放在每个可绘制文件夹中。有什么想法为什么它不起作用吗?

不确定是否相关,但教程说明

"icon 属性需要图片的资源ID。@drawable/后面的名称必须是您保存在项目的res/drawable/目录中的位图图像的名称。例如,"@drawable/ic_action_search”指的是ic_action_search.png。”

但是我没有文件夹 res/drawable/只有 res/drawable-hdpi, res/drawable-ldpi ... Shold 我创建了另一个文件夹 res/drawable/如果是的话应该在里面放哪个图标(我下载的官方图标集有所有的 res/drawable-hdpi 但没有 res/drawable/)

最佳答案

只需用我的代码替换您的代码,它就会为您工作。

<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="com.example.actionbar.MainActivity" >
         <item android:id="@+id/action_search"
              android:icon="@drawable/ic_action_search"
              android:title="@string/action_search"
              app:showAsAction="always"/>


          <item android:id="@+id/action_settings"
              android:title="@string/action_settings"
              app:showAsAction="never"/>



    </menu>

关于java - Android无法将搜索按钮添加到选项菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23425099/

相关文章:

java - 在 Thread.sleep 之前强制屏幕输出

Android MediaPlayer 停止()不起作用

java - 在手动创建的实例中注入(inject)组件

java - WebView 中的登录保留在浏览器中

java - 如何将listview中的textview传回php

java - 使用纯spring java配置访问环境属性

android - 如何在 Android 中使用 HTTPClient 以 JSON 格式发送 POST 请求?

java - 以表格格式组织动态大小的面板 (Java SWING)

java - 在 OSX 中运行 CMD 等效项?

java:为自定义序列化分配对象引用 ID