枚举最大的作用是提供了类型安全。为了弥补Android平台不建议使用枚举的缺陷,官方推出了两个注解,IntDef和StringDef,用来提供编译期的类型检查。
1、引入注解
implementation 'com.android.support:support-annotations:27.1.0'
2、实现
这里定义了一个注解,里面有4个状态值,分别是空闲、暂停、停止和错误。
@Retention(RetentionPolicy.SOURCE)
public @interface PlayStatus {
int PLAY_IDEI= 0;
int PLAY_PAUSE= 1;
int PLAY_STOP = 2;
int PLAY_ERROR = 2;
}
使用 @PlayStatus 进行了注解,这样外界就无法传递 PlayStatus之外的参数了。
public class VideoView {
public static void opt(@PlayStatus int status){
switch (status){
case PlayStatus.PLAY_IDEI:
//do something
break;
case PlayStatus.PLAY_PAUSE:
//do something
break;
case PlayStatus.PLAY_STOP:
//do something
break;
case PlayStatus.PLAY_ERROR:
//do something
break;
}
}
}
3、调用
VideoView.opt(PlayStatus.PLAY_PAUSE);
网友评论