我试图用IntDef注释替换源代码中的一些枚举。我一直在关注this文档。
我有一个变量用于保存以前是枚举的ViewMode。现在我把它改成了下面的东西。
@Retention(RetentionPolicy.SOURCE)
@IntDef({ViewMode.VIEW_MODE_LIST_VIEW, ViewMode.VIEW_MODE_CARD_VIEW})
public @interface ViewMode {
int VIEW_MODE_LIST_VIEW = 0;
int VIEW_MODE_CARD_VIEW = 1;
}
@ViewMode
public int currentViewMode = ViewMode.VIEW_MODE_LIST_VIEW;
现在测试这是否安全我在方法
中完成了以下操作this.currentViewMode = 987; //currentViewMode should be 0 or 1. Nothing else.
但现在这不会给我一个编译错误。我在这里错过了什么吗?
答案 0 :(得分:0)
您不会收到编译错误,因为枚举注释只是lint检查:请参阅Improve Your Code with Lint
您应该直接在Android Studio中看到错误标记,或者从命令行运行android lint检查:请参阅Improve Your Code with Lint
注意:您还可以将构建配置为自动运行lint检查:
见SO: Run lint when building android studio projects
但是运行linter需要一些时间,因此您可以选择仅为发布版本运行它或仅在CI服务器上运行它。