有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java操作搜索无法解析或不是字段

我正在跟踪开发人员。安卓做他们的训练。我正在“添加操作栏”,但是,我遇到了一个问题

在此处(http://developer.安卓.com/training/basics/actionbar/adding-buttons.html#Respond)的“响应操作按钮”一节中,“case R.id.Action_search:”行出现错误,表示“Action_search无法解析或不是字段”

[删除]事实上,行“openSearch();”和“openSettings();”还有红线,表示“MainActivity类型的openSettings()方法未定义”。[/删除] (我知道这里出了什么问题,我需要自己声明这两种方法。)

我该怎么办?谢谢你的帮助


共 (3) 个答案

  1. # 1 楼答案

    <item android:id="@+id/action_search"
              android:icon="@drawable/ic_action_search"
              android:title="@string/action_search"
              android:showAsAction="ifRoom" />
    

    首先,属性android:id="@+id/action_search没有问题

    有两件事你需要做,这本教程似乎认为是理所当然的

    • 将名为“ic_action_search.png”的图像添加到项目中的所有res/drawable目录中
    • 添加字符串资源“action_search”的定义,它被分配给android:title属性。打开res/值/字符串。xml文件和添加 ^那边

    其次

    函数openSearch()和openSettings()需要由您在同一个类中定义。比如:

    public void openSearch()
    {
          //Do something here.
    } 
    public void openSettings()
    {
          //Do something here.
    } 
    

    在本教程中,它们的功能并不重要,因为它们试图展示如何控制选择“操作”菜单上的选项时发生的情况

  2. # 2 楼答案

    Go项目->;清洁的 这对我有用

  3. # 3 楼答案

    我试过了,也有同样的问题。我删除了android:icon="@drawable/ic_action_search"(而不是添加图像,因为我很懒),并在资源文件中添加了action_搜索字符串,以确保菜单文件没有引用任何不存在的内容。在那之后,我试着把android:id改成android:title,因为我看到它对你有用,这很奇怪。保存后出现了一个错误,所以我把它改了回去。更改并保存后,MainActivity中的原始错误。java文件消失,并且R.id.action_search被解析。我认为问题在于R.java没有被更新,你基本上必须用锤子敲打它,通过强制错误并修复它,至少在我的情况下是这样。我不知道为什么使用android:title对你有用。希望这能有所帮助