2017-11-03 5 views
1

내 소스의 일부 열거 형을 IntDef 주석으로 바꾸려고합니다. 나는 this 문서를 따라 왔습니다.IntDef를 사용한 유형 안전

이전에 열거 형이었던 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. 

에서 다음하지만 지금은 나에게 컴파일 오류가 제공되지 않습니다. 내가 여기서 뭔가를 놓치고 있니?

+1

"지금 컴파일 오류가 발생했습니다"또는 "** 컴파일 오류가 아닙니다"라는 뜻입니까? – mernst

+0

@mernst 그것을 지적 해 주셔서 감사합니다. 그건 실수 였어. 수정했습니다. –

답변

0

열거 주석 그냥 보풀이 검사이기 때문에 당신은 컴파일 오류가 발생하지 않습니다 볼이 Improve Your Code with Lint

당신은 안드로이드 Studio에서 오류 마커를 직접 볼 수

또는 명령 줄에서 안드로이드 보풀 검사를 실행할 때 : Improve Your Code with Lint

참고를 참조하십시오 당신은 또한 자동으로 보풀 검사를 실행하는 빌드를 구성 할 수 있습니다
SO: Run lint when building android studio projects
를 참조하지만 당신은 당신의 릴리스를 실행하도록 선택할 수 있도록 린터를 실행하는 빌드 또는에서만 약간의 시간이 소요됩니다 귀하의 CI 서버.