Android 如何从main.xml为所有LinearLayout创建数组?
我想创建一个Android 如何从main.xml为所有LinearLayout创建数组?,android,arrays,android-linearlayout,Android,Arrays,Android Linearlayout,我想创建一个LinearLayouts数组。在我的应用程序中,我设计了一个包含10个LinearLayouts的xml文件,其中LinearLayouts包含每个布局的布局id。我想为所有LinearLayout维护一个LinearLayout数组。我如何才能做到这一点?//main.xml //main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://sche
LinearLayout
s数组。在我的应用程序中,我设计了一个包含10个LinearLayout
s的xml文件,其中LinearLayout
s包含每个布局的布局id。我想为所有LinearLayout
维护一个LinearLayout
数组。我如何才能做到这一点?//main.xml
//main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/linear1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<ImageView
android:src="@drawable/ic_launcher"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
<LinearLayout
android:id="@+id/linear2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<ImageView
android:src="@drawable/ic_launcher"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
<LinearLayout
android:id="@+id/linear3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<ImageView
android:src="@drawable/ic_launcher"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
<LinearLayout
android:id="@+id/linear4"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<ImageView
android:src="@drawable/ic_launcher"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
<LinearLayout
android:id="@+id/linear5"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<ImageView
android:src="@drawable/ic_launcher"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
<LinearLayout
android:id="@+id/linear6"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<ImageView
android:src="@drawable/ic_launcher"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
<LinearLayout
android:id="@+id/linear7"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<ImageView
android:src="@drawable/ic_launcher"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
<LinearLayout
android:id="@+id/linear8"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<ImageView
android:src="@drawable/ic_launcher"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
<LinearLayout
android:id="@+id/linear9"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<ImageView
android:src="@drawable/ic_launcher"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
<LinearLayout
android:id="@+id/linear10"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<ImageView
android:src="@drawable/ic_launcher"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
</LinearLayout>
//LayoutsTestActivity.java
public class LayoutsTestActivity extends Activity {
ArrayList<LinearLayout>linList;
LinearLayout lin1,lin2,lin3,lin4,lin5,lin6,lin7,lin8,lin9,lin10;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
linList=new ArrayList<LinearLayout>();
lin1=(LinearLayout)findViewById(R.id.linear1);
lin2=(LinearLayout)findViewById(R.id.linear2);
lin3=(LinearLayout)findViewById(R.id.linear3);
lin4=(LinearLayout)findViewById(R.id.linear4);
lin5=(LinearLayout)findViewById(R.id.linear5);
lin6=(LinearLayout)findViewById(R.id.linear6);
lin7=(LinearLayout)findViewById(R.id.linear7);
lin8=(LinearLayout)findViewById(R.id.linear8);
lin9=(LinearLayout)findViewById(R.id.linear9);
lin10=(LinearLayout)findViewById(R.id.linear10);
linList.add(lin1);
linList.add(lin2);
linList.add(lin3);
linList.add(lin4);
linList.add(lin5);
linList.add(lin6);
linList.add(lin7);
linList.add(lin8);
linList.add(lin9);
linList.add(lin10);
}
}
//LayoutsTestActivity.java
公共类布局Stactivity扩展活动{
数组列表;
线性布局lin1、lin2、lin3、lin4、lin5、lin6、lin7、lin8、lin9、lin10;
/**在首次创建活动时调用*/
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
linList=newarraylist();
lin1=(LinearLayout)findViewById(R.id.linear1);
lin2=(LinearLayout)findViewById(R.id.linear2);
lin3=(LinearLayout)findViewById(R.id.linear3);
lin4=(LinearLayout)findViewById(R.id.linear4);
lin5=(LinearLayout)findViewById(R.id.linear5);
lin6=(LinearLayout)findViewById(R.id.linear6);
lin7=(LinearLayout)findViewById(R.id.linear7);
lin8=(LinearLayout)findViewById(R.id.linear8);
lin9=(LinearLayout)findViewById(R.id.linear9);
lin10=(LinearLayout)findViewById(R.id.linear10);
添加(lin1);
添加(lin2);
添加(lin3);
添加(lin4);
添加(lin5);
添加(lin6);
添加(lin7);
添加(lin8);
添加(lin9);
添加(lin10);
}
}
您可以将布局ID存储在int数组中。示例int[]i阵列代码>
如果您想使用它们,只需调用findviewbyd(idArray[index])
并记住将其强制转换为线性布局
或者setContentView(idArray[index])