Intereting Posts
Подписание файла APK в CLI Cordova v-5.0 не работает RecyclerView не прокручивается, как ожидалось Как проверить, запущена ли задача Async Android SwipeRefreshLayout, как реализовать canChildScrollUp, если дочерний элемент не является ListView или ScrollView Как отформатировать длинный <pre> блок HTML, подходящий для устройств с ограниченным ограничением, таких как iPhone Почему EditText не расширяется до fill_parent Как уменьшить размер файла изображения перед загрузкой на сервер NestedScrolling с NestedScrollView, RecyclerView (по горизонтали) внутри координатораLayout Listview не обновляется при вызове notifydatasetchanged () Пользовательский API-интерфейс точного выравнивания по значению <21 с поддержкой библиотеки 22.1.1 Доступ к идентификатору / имени пользователя учетной записи Google через Android Android: просмотр списка идентификаторов Выдвинутый пузырь речи для Android IllegalStateException в MediaCodec.dequeInputBuffer / dequeOutputBuffer Как связаться с сервером Node.js от клиента Android

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

Я ищу, чтобы найти все виды в указанной деятельности, которые имеют тег «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);