Android中使用注解替代枚举

2020-04-16  本文已影响0人  放羊娃华振

枚举最大的作用是提供了类型安全。为了弥补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);
上一篇 下一篇

猜你喜欢

热点阅读