#android #android-view
#Android #android-просмотр
Вопрос:
Есть ли способ проверить, есть ли у представления дочерние элементы? Например…
boolean bool = view.hasChildren(); //returns true if view has one or more children
Мне нужно это знать, потому что у меня пустой макет, в который я добавляю новые представления динамически, и мне нужно знать, является ли макет пустым или нет.
Ответ №1:
Есть ли способ проверить, есть ли у представления дочерние элементы
Предполагая, что это подкласс ViewGroup
, вы можете использовать getChildCount()
. Например.
public static boolean hasChildren(ViewGroup viewGroup) {
return viewGroup.getChildCount() > 0;
}
Ответ №2:
Нам также нужно проверить, может ли view иметь дочерние представления или нет. Например,
private int getViewsCount(View view){
try{
return ((ViewGroup) view).getChildCount();
}catch(Exception e){
return 0;
}
}
Некоторые представления, такие как TextView и ImageView (например), не могут быть переданы в ViewGroup, поэтому нам нужно перехватить это исключение, чтобы избежать ошибок во время выполнения.
Ответ №3:
попробуйте это:
for(int index=0; index<((ViewGroup)viewGroup).getChildCount(); index) {
View nextChild = ((ViewGroup)viewGroup).getChildAt(index);
}