【问题标题】:Adding button to Action Bar causes R to not comple将按钮添加到操作栏会导致 R 无法完成
【发布时间】:2014-01-17 02:54:37
【问题描述】:

我正在尝试向我的操作栏添加一个按钮,但是当我添加 xml 时,它会导致 R 文件停止生成,从而破坏整个应用程序。我一直在尝试遵循 Google 的指示 (https://developer.android.com/training/basics/actionbar/adding-buttons.html),但看不出我做错了什么。

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/action_settings"
        android:orderInCategory="100"
        android:showAsAction="never"
        android:title="@string/action_settings"/>
    <item
        android:id="@+id/addtaskbutton"
        android:icon="@drawable/ic_action_new_label"
        android:title="ab_addtask"
        android:visible="ifRoom"
   />

</menu>

这是我引用按钮的唯一 Java 代码

public boolean onMenuItemSelected(int featureId, MenuItem item) {
    // TODO Auto-generated method stub
    switch(item.getItemId()) {
    case R.id.addtaskbutton:
        promptUserForInfo();
        return true;
    }   
}

【问题讨论】:

  • 如果您使用的是 Eclipse,您是否尝试过清理和重建项目?
  • 我不认为这与 R 编程语言有关,所以我将编辑并删除标签。如果我不正确,请回滚编辑。

标签: java android xml android-actionbar


【解决方案1】:

ifRoom 不是您第二项中android:visible 的有效值。将其更改为 android:visible="true"android:visible="false"android:showAsAction="ifRoom"(我希望你想要的)。

【讨论】:

    【解决方案2】:

    您是否在项目中添加了适当的支持库?这可能类似于此处发布的问题:

    R.java not generating while doing Android tutorial?

    【讨论】:

      【解决方案3】:

      就像 Chase 在问题下的 cmets 中所说,如果您使用的是 Eclipse,请转到 Project 菜单并选择 Clean。 R.java 文件是自动生成的,因此如果您添加新操作,则需要重新生成 R.java

      /* AUTO-GENERATED FILE.  DO NOT MODIFY.
       *
       * This class was automatically generated by the
       * aapt tool from the resource data it found.  It
       * should not be modified by hand.
       */
      

      这是R.java顶部的注释

      【讨论】:

        猜你喜欢
        • 2012-08-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多