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);
...
答案 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){
}