为菜单项创建新ID

时间:2014-04-15 16:15:39

标签: android development-environment

当我使用布局视图创建新菜单项时,默认Id为@ + id / item1。当我选择浏览时,我会得到一个偏好选择器窗口,底部的新“新ID ...”窗口显示为灰色。创建新ID需要做什么?

1 个答案:

答案 0 :(得分:-1)

您可以使用View.generateViewId()。这将为您生成新的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();
        }
    }

}