Mam LinearLayout
, który zawiera kilka dzieci TextViews
. Jak uzyskać widoki podrzędne tego układu LinerLayout za pomocą pętli?
140
Mam LinearLayout
, który zawiera kilka dzieci TextViews
. Jak uzyskać widoki podrzędne tego układu LinerLayout za pomocą pętli?
Użyj getChildCount()
i getChildAt(int index)
.
Przykład:
LinearLayout ll = …
final int childCount = ll.getChildCount();
for (int i = 0; i < childCount; i++) {
View v = ll.getChildAt(i);
// Do something with v.
// …
}
buttons
dodanych w układzie liniowym i podzielić ją przez 2 ? Moim celem jest pokazanie 2 rzędów przycisków w układzie liniowym .Tutaj iteruję tylko EdiTexts, jeśli chcesz wszystkie widoki, możesz zastąpić EditText widokiem.
źródło
getChildAt
zwraca tylko bezpośrednie dzieciUżyj tego
źródło
Z Kotlin jest łatwiej, używając pętli for-in:
Tutaj
ll
jestid
zLinearLayout
definicją zawartą w układzie XML.źródło
Uzyskaj wszystkie widoki z dowolnego typu układu
Uzyskaj cały TextView z dowolnego typu układu
źródło
Uzyskaj rekursywnie wszystkie widoki widoku i jego elementy podrzędne w Kotlinie:
źródło