向操作栏添加按钮会导致R无法完成

时间:2014-01-17 02:54:38

标签: java android xml android-actionbar

我正在尝试向操作栏添加一个按钮,但是当我添加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;
    }   
}

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

R.java not generating while doing Android tutorial?

答案 2 :(得分:0)

就像Chase在问题的评论中所说,如果您使用的是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顶部的评论