View.VISIBLE 和类似的静态可见性变量的数据类型为 int,我需要禁止将此变量的值设置为“0”、“1”等。此变量应该仅采用 View.VISIBLE 和类似的值。例如:
`
数据类状态(
@SomeAnnotation val buttonVisibility: Int
)
val state = State(0) // Compilation error
val state = State(View.GONE) // Okay
`
在View java中使用了@Visibility注解。这是该注释的源代码:
@IntDef({VISIBLE, INVISIBLE, GONE})
@Retention(RetentionPolicy.SOURCE)
public @interface Visibility {}
所以你可以尝试这样改变你的代码
data class State(@Visibility val buttonVisibility: Int)
不要忘记导入它
import android.view.View.Visibility;