好吧,我有一个类似于以下示例的布局xml:
<?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>
我实际上有大约7个LinearLayout项目,每个ID都从layout_0等增加.我想要能够掌握根LinearLayout下的所有LinearLayout项目.我需要将一个id放在根目录下,通过id找到所有其他ID,或者我可以通过类型获取它们.
我用来夸大布局的代码是:
View view = (View) inflater.inflate(R.layout.flight_details,container,false);
我读到某个地方可以迭代ViewGroup的子项,但这只是一个View.
通过类型获取一群孩子的最佳方式是什么?
解决方法
这应该让你在正确的轨道上.
LinearLayout rootLinearLayout = (LinearLayout) findViewById(R.id.rootLinearLayout); int count = rootLinearLayout.getChildCount(); for (int i = 0; i < count; i++) { View v = rootLinearLayout.getChildAt(i); if (v instanceof LinearLayout) { ... } }