Intereting Posts
Поставщик контента INSTALL_FAILED_CONFLICTING_PROVIDER (установка поставщика контента как отдельного apk) Как использовать SearchView из темной темы в теме Light Appcompat WebView в диалоге Обнаружение сердечного ритма с помощью камеры JQuery Мобильный фиксированный footer перемещается, когда появляется клавиатура Как добавить разрешение манифеста в приложение для Android? Отключение многооконной функции для Android N, не работающей на активность Android-фрагменты – findFragmentByTag всегда возвращает null Создайте Android-приложение для выпуска Android в Phonegap 3.x CLI USB-соединение и отладка одновременно Что должен знать разработчик, прежде чем создавать приложения для мобильных телефонов? Почему отпечаток пальца отличается от моего недавно подписанного apk? Что означает «неопределенный» в ProgressDialog? Как нарисовать на холсте вида без масштабирования артефактов, когда родительский взгляд имеет масштабный коэффициент? Как установить тип mime для прикрепления электронной почты Android

Android @Intdef для флагов, как использовать его

Я не понимаю, как использовать @Intdef при создании этого флага:

@IntDef( flag = true value = {NAVIGATION_MODE_STANDARD, NAVIGATION_MODE_LIST, NAVIGATION_MODE_TABS}) 

Этот пример прямо из документов . Что это значит? Означает ли это, что изначально они установлены в true? Если я делаю «или» на следующем:

 NAVIGATION_MODE_STANDARD | NAVIGATION_MODE_LIST 

Что это значит … им немного смущает то, что здесь происходит.

Solutions Collecting From Web of "Android @Intdef для флагов, как использовать его"

Установите флаг @IntDef, затем вы можете использовать битовые операции для объединения этих флагов int (например, |, & …).

Пример Fox:

 public static final int DISPLAY_OP_1 = 1; public static final int DISPLAY_OP_2 = 1<<1; public static final int DISPLAY_OP_3 = 1<<2; @IntDef ( flag=true, value={ DISPLAY_OP_1, DISPLAY_OP_2, DISPLAY_OP_3 } ) @Retention(RetentionPolicy.SOURCE) public @interface DisplayOptions{} public void setIntDefFlag(@DisplayOptions int ops) { ... } 

Используйте setIntDefFalg с '|'

 setIntDefFlag(DisplayOptions.DISPLAY_OP1|DisplayOptions.DISPLAY_OP2);