Intereting Posts
Размещение / Перекрытие (z-index) вид над другим представлением в android Android: java.lang.IllegalArgumentException: недопустимый тип элемента полезной нагрузки Как разместить Google Maps V2 на фрагменте с помощью ViewPager Рисование программно овальной формы с границей (угловой радиус) на Android Преобразование растрового изображения в GrayScale в Android Настройка фонового изображения для относительной компоновки? Ошибка теста Espresso: AppNotIdleException Как обновить TileOverlay без мерцания? Как начать обслуживание с фрагментов Как реализовать мой собственный кеш диска с библиотекой picasso – Android? Как использовать Gradle, как я могу гарантировать, что файл существует в определенном месте? Используйте разные значки с различными версиями Android SDK Как вы делаете макеты для нескольких размеров экрана Android? Android; MapView, как я могу установить местоположение по умолчанию? Ошибки вычисления значения двойной точности на процессорах MediaTek

Найти все виды с тегом?

Я ищу, чтобы найти все виды в указанной деятельности, которые имеют тег «balloon», например, затем скрыть их, используя setVisibility to GONE .

Кто-нибудь знает, как получить список представлений с заданным тегом?

Solutions Collecting From Web of "Найти все виды с тегом?"

Ну вот:

 private static ArrayList<View> getViewsByTag(ViewGroup root, String tag){ ArrayList<View> views = new ArrayList<View>(); final int childCount = root.getChildCount(); for (int i = 0; i < childCount; i++) { final View child = root.getChildAt(i); if (child instanceof ViewGroup) { views.addAll(getViewsByTag((ViewGroup) child, tag)); } final Object tagObj = child.getTag(); if (tagObj != null && tagObj.equals(tag)) { views.add(child); } } return views; } 

Я уже ответил на это здесь: Android – как найти несколько просмотров с общим атрибутом

Один из подходов состоял бы в том, чтобы начать с родительской ViewGroup, перебрать ее дочерние элементы (и их дочерние элементы и т. Д.), А затем проверить теги на каждом из них.

Может ли этот API вызвать View # findViewWithTag help? Обратите внимание, что он возвращает только один вид …

Найдите детское представление с данным тегом. Если это представление имеет данный тег, верните это представление.

Вы можете настроить теги на свои виды следующим образом:

 someView.setContentDescription("MyTag"); 

А затем, чтобы найти все представления с этим тегом, вам нужно позвонить:

 ArrayList<View> outputViews = new ArrayList<>(); rootView.findViewsWithText(outputViews, "MyTag", FIND_VIEWS_WITH_CONTENT_DESCRIPTION);