belongs to Maven artifact androidx.annotation:annotation:1.0.0-alpha1

IntDef

public abstract @interface IntDef
implements Annotation

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})
 

See also:

Summary

Public methods

boolean flag()

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

int[] value()

Defines the allowed constants for this element

Inherited methods

Public methods

flag

boolean flag ()

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

Returns
boolean

value

int[] value ()

Defines the allowed constants for this element

Returns
int[]