IntDef

class IntDef
androidx.annotation.IntDef

Denotes that the annotated element of integer type, represents a logical type and that its value should be one of the explicitly named constants. If the IntDef#flag() attribute is set to true, multiple constants can be combined.

Example:

 @Retention(SOURCE) @IntDef({NAVIGATION_MODE_STANDARD, NAVIGATION_MODE_LIST, NAVIGATION_MODE_TABS}) public @interface NavigationMode {} public static final int NAVIGATION_MODE_STANDARD = 0; public static final int NAVIGATION_MODE_LIST = 1; public static final int NAVIGATION_MODE_TABS = 2; ... public abstract void setNavigationMode(@NavigationMode int mode); @NavigationMode public abstract int getNavigationMode(); 
For a flag, set the flag attribute:
 @IntDef( flag = true, value = {NAVIGATION_MODE_STANDARD, NAVIGATION_MODE_LIST, NAVIGATION_MODE_TABS}) 

Summary

Public constructors
<init>(vararg value: Int, flag: Boolean)

Denotes that the annotated element of integer type, represents a logical type and that its value should be one of the explicitly named constants.

Properties
IntArray

Defines the allowed constants for this element

Boolean

Defines whether the constants can be used as a flag, or just as an enum (the default)

Public constructors

<init>

IntDef(vararg value: Int, flag: Boolean)

Denotes that the annotated element of integer type, represents a logical type and that its value should be one of the explicitly named constants. If the IntDef#flag() attribute is set to true, multiple constants can be combined.

Example:

 @Retention(SOURCE) @IntDef({NAVIGATION_MODE_STANDARD, NAVIGATION_MODE_LIST, NAVIGATION_MODE_TABS}) public @interface NavigationMode {} public static final int NAVIGATION_MODE_STANDARD = 0; public static final int NAVIGATION_MODE_LIST = 1; public static final int NAVIGATION_MODE_TABS = 2; ... public abstract void setNavigationMode(@NavigationMode int mode); @NavigationMode public abstract int getNavigationMode(); 
For a flag, set the flag attribute:
 @IntDef( flag = true, value = {NAVIGATION_MODE_STANDARD, NAVIGATION_MODE_LIST, NAVIGATION_MODE_TABS}) 

See Also

Properties

value

val value: IntArray

Defines the allowed constants for this element

flag

val flag: Boolean

Defines whether the constants can be used as a flag, or just as an enum (the default)