Как сделать массив для всех LinearLayouts из main.xml? - PullRequest
1 голос
/ 28 марта 2012

Я хотел бы создать массив LinearLayout с. В моем приложении я разработал xml-файл с десятью LinearLayout с, из которых LinearLayout s содержит идентификатор макета для каждого макета. Я хотел бы сохранить массив LinearLayout для всех LinearLayouts. Как я могу это сделать?

Ответы [ 2 ]

2 голосов
/ 28 марта 2012

Вы можете хранить свои идентификаторы макета в массиве int. пример int []idArray;

Если вы хотите их использовать, просто наберите findViewById(idArray[index]) и не забудьте привести его к линейному расположению.

или setContentView(idArray[index]).

0 голосов
/ 28 марта 2012
    //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);
    }
}
...