Android 为菜单项创建新Id

Android 为菜单项创建新Id,android,development-environment,Android,Development Environment,使用布局视图创建新菜单项时,默认Id为@+Id/item1。当我选择浏览时,我会看到一个首选项选择器窗口,底部新的“new ID…”窗口变灰。创建新ID需要做什么?您可以使用。这将为您生成新的id,请确保保存它,以防您需要它来让您的应用程序知道它,因为它们没有添加到R.java文件中 public class ViewUtil { private static final AtomicInteger sNextGeneratedId = new AtomicInteger(1); public

使用布局视图创建新菜单项时,默认Id为@+Id/item1。当我选择浏览时,我会看到一个首选项选择器窗口,底部新的“new ID…”窗口变灰。创建新ID需要做什么?

您可以使用。这将为您生成新的id,请确保保存它,以防您需要它来让您的应用程序知道它,因为它们没有添加到R.java文件中

public class ViewUtil {
private static final AtomicInteger sNextGeneratedId = new AtomicInteger(1);
public static int generateViewId() {
    if(Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR1){
      for (;;) {
          final int result = sNextGeneratedId.get();
          int newValue = result + 1;
          if (newValue > 0x00FFFFFF) newValue = 1; // Roll over to 1, not 0.
            if (sNextGeneratedId.compareAndSet(result, newValue)) {
                    return result;
                }
        }else{
            return View.generateViewId();
        }
    }

}
public类ViewUtil{
私有静态最终AtomicInteger sNextGeneratedId=新的AtomicInteger(1);
公共静态int generateViewId(){
if(Build.VERSION.SDK\u INT0x00FFFFFF)newValue=1;//滚动到1,而不是0。
if(snextGenerateId.compareAndSet(结果,新值)){
返回结果;
}
}否则{
return View.generateView();
}
}
}

这非常有效。如果我将@+id/item1编辑为@+id/action\u edit,如何使其在R.java中注册?