Android

Android @interface限制参数类型

2019-04-16  本文已影响3人  12313凯皇

有些时候,我们会有一个需求,就是一个方法的参数只能是某些特定的值,以View为例,它的setVisibility方法中就只能传入VISIBLEINVISIBLEGONE这三个参数。下面来看一下其实现方法:

public static final int VISIBLE = 0x00000000;

public static final int INVISIBLE = 0x00000004;

public static final int GONE = 0x00000008;

@IntDef({VISIBLE, INVISIBLE, GONE})
@Retention(RetentionPolicy.SOURCE)
public @interface Visibility {}

其中@Retention表明注解的生命周期,有三种可选项:

@IntDef就很好理解了,就是这些值是int类型的,除此之外还有@StringDef@LongDef分别表示String类型和Long类型。

上一篇 下一篇

猜你喜欢

热点阅读