Ok, więc mam xml układ podobny do następującego przykładu:Android: Jak znaleźć widoki według typu
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/tile_bg" >
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:paddingTop="10dp" >
<LinearLayout
android:id="@+id/layout_0"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<!-- view stuff here -->
</LinearLayout>
<!-- more linear layouts as siblings to this one -->
</LinearLayout>
I rzeczywiście mają około przedmioty 7 LinearLayout każdy z id rosnącym od layout_0 etc. Chcę mieć możliwość zdobycia wszystkich elementów LinearLayout w katalogu głównym LinearLayout. Czy muszę podać identyfikator na głównym i znaleźć wszystkie inne przez id lub czy mogę uzyskać je według typu.
Kod używam napompować układ jest:
Czytałem gdzieś, że można iteracyjne dzieci o ViewGroup ale to tylko widok.
Jaki jest najlepszy sposób na uzyskanie grupy dzieci według typu?
Powinny być
Andres
Uważaj, aby 'instanceof' był ciężką operacją. Ta Aproach może być powolna w widoku z mnóstwem połączeń chlidren –
@EmrysMyrooin Kosztowne są tylko problemem, jeśli powodują opóźnienia między danymi wejściowymi. Jeśli jest to po prostu inicjalizacja w metodzie onCreate, to nie powinno to w ogóle zaszkodzić, ponieważ użytkownik i tak nie miał okazji nic zrobić. Powiedziawszy to, nie ma żadnej realnej potrzeby, jeśli jest ich tylko 7. W tym przypadku nadal potrzebna byłaby optymalizacja. Pętla jest wystarczająco droga, zawieszając pętlę UI. –