如何解决错误找不到Retention和IntDef的符号类?

时间:2018-03-22 16:25:42

标签: java android android-studio

我想要一个只接受2个值的函数,比如说一个两个。我可以使用枚举,但对于Android,使用常量(@IntRef)被认为更好。

所以我这样做了:

@Retention(RetentionPolicy.SOURCE)
@IntDef({TYPE_ONE, TYPE_TWO})
public @interface InputTypes {
    int TYPE_ONE = 0;
    int TYPE_TWO = 1;
}

但是在构建APK时,我收到以下错误:

  

错误:找不到符号类保留
  错误:找不到符号类IntDef`

P.S。我尝试清理项目,多次使缓存失效。 (还添加了导入语句)

  

Android Studio版本:3.0.0
  minSdkVersion = 11
  targetSdkVersion = 25
  compileSdkVersion = 25
  buildToolsVersion =' 24.0.2'

编辑:

  

Java版本:8

1 个答案:

答案 0 :(得分:0)

SuppressLint已在API级别 16 中添加,因此您需要升级到API级别16. 另一种解决方案是将appcompat-v7添加到项目 build.gradle ,如下所示:

dependencies {
    ...
    implementation 'com.android.support:appcompat-v7:26.0.0-beta1'
    ...