Android @IntDef本地变量示例

时间:2017-04-11 01:03:56

标签: android annotations

https://developer.android.com/reference/android/support/annotation/IntDef.html

我正在寻找一个如何定义局部变量的例子。

我看到如何创建函数返回,成员变量,函数参数,但没有使用Android注释元素@IntDef分配局部变量的示例。

由于

更新

这是一个不起作用的例子。这与@Retention的放置位置有关吗?我不明白编译器如何知道应用保留策略的内容。这是一个全球性的环境吗?

int foobar() {
        @IntDef({
                ItemType.TYPE1,
                ItemType.TYPE2
        })
        @Retention(RetentionPolicy.SOURCE)
        @interface ItemType {
            int TYPE1 = 0;
            int TYPE2 = 1;
        }


        @ItemType int type = TYPE1;
...
}

另一个对我不起作用的例子:

protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

    final @View.MeasureSpec.MeasureSpecMode int heightMode = MeasureSpec.getMode(heightMeasureSpec);

...

1 个答案:

答案 0 :(得分:2)

@IntDef({
  ItemType.TYPE1,
  ItemType.TYPE2
})
public @interface ItemType {
  int TYPE1 = 0;
  int TYPE2 = 1;
}

// use it in global variable like
@ItemType
private int type;

// use it in local variable like
public void add(@ItemType int type){

}