Я ищу, чтобы найти все виды в указанной деятельности, которые имеют тег "balloon", а затем спрятать их с помощью setVisibility
до GONE
.
Кто-нибудь знает, как получить список представлений с заданным тегом?
Я ищу, чтобы найти все виды в указанной деятельности, которые имеют тег "balloon", а затем спрятать их с помощью setVisibility
до GONE
.
Кто-нибудь знает, как получить список представлений с заданным тегом?
Здесь вы идете:
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 вызвать Просмотреть # findViewWithTag помощь? Обратите внимание, что он возвращает только один вид...
Найдите детское представление с данным тегом. Если это мнение имеет тег, верните это представление.
Вы можете установить теги на свои представления следующим образом:
someView.setContentDescription("MyTag");
И затем, чтобы найти все представления с этим тегом, вам нужно позвонить:
ArrayList<View> outputViews = new ArrayList<>();
rootView.findViewsWithText(outputViews, "MyTag", FIND_VIEWS_WITH_CONTENT_DESCRIPTION);