Intereting Posts
Погрузчик не может сохранить себя во время определенного изменения конфигурации Как распечатать изображение на Bluetooth-принтере в Android? Файл Android.mk – включая все исходные файлы в разных папках и подпапках Учебник по основам Android Fragment Настроить вид флажка starStyle Сбой приложения при изменении ориентации OnPostExecute не вызывается в AsyncTask (исключение выполнения обработчика Handler) Android 6.0 Nexus 6 Crash в драйвере Adreno 420 Рекомендуемые способы создания портативного приложения для Android и других платформ Уязвимость Android Inbuild (ActionImageCapture) возвращает нулевой смысл. Невозможно передать результат {who = null} AsyncTask работает на Android 2.3.3, но не на ICS Как найти анимацию закончена игра в android Как реализовать перетаскиваемую карту, например, uber android, Update with change location Com.crashlytics.android.CrashlyticsMissingDependencyException во время gradle 'testDebug' в проекте студии Android В ExpandableListView, как обнаружить групповое свертывание?

Функция, которая возвращает видимость

Я писал функцию, которая возвращает видимость, но я правильно понимаю:

Должен быть одним из: View.VISIBLE, View.INVISIBLE, View.GONE меньше …

Для этого кода:

private int getVisibilityForGlobalAndLocal(final boolean global, final boolean local) { if (global) { return View.GONE; } return local ? View.VISIBLE : View.INVISIBLE; } 

При использовании:

  view.setVisibility(getVisibilityForGlobalAndLocal(true,false)); 

К сожалению, аннотация @Visibility скрыта в представлении:

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

Теперь я могу просто скопировать эту часть (работы), но это плохо. Есть ли более элегантное решение, которое я здесь отсутствует? Должен ли я записывать это как ошибку?

Было бы неплохо иметь возможность использовать аннотацию @Visibility, но похоже, что мы не можем на данный момент.

Тем временем вы можете добавить аннотацию @SuppressWarnings («ResourceType») выше метода, в котором вы вызываете setVisibility для подавления ошибки lint

 @SuppressWarnings("ResourceType") public void myMethod() { view.setVisibility(getVisibilityForGlobalAndLocal(true,false)); }