Android:以编程方式将id添加到操作栏项

Met*_*lel 4 android actionbarsherlock

即时尝试将id设置为actionbarsherlock的项目,但我得到这个"无法在原始类型void上调用setId(int)"

    menu.add("new")
        .setIcon(R.drawable.icon_1)
        .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM)
        .setId(R.id.newone);
Run Code Online (Sandbox Code Playgroud)

iag*_*een 13

你有两个问题,一个setShowAsAction返回void,所以你不能链接另一个调用.

第二,MenuItem没有setID方法.创建项目后,您无法更改ID.要设置ID,您必须在[ add方法]中从Menu2开始,

menu.add("new", myItemId, myOrder, "TEXT" )
        .setIcon(R.drawable.icon_1, )
        .setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
Run Code Online (Sandbox Code Playgroud)

  • .add()方法的第一个参数是int groupID而不是字符串. (3认同)