2013-03-04 4 views
0

아래의 레이아웃이 있습니다. 즉, 1 개의 회 전자와 일부 편집 상자 및 회 전자의 레이아웃이 포함 된 선형 레이아웃입니다.이 레이아웃은 오브젝트 (X라고 함)에 매핑됩니다. 메인 회 전자에 n 개의 항목이 있고 각 항목이 레이아웃 객체 (X)에 매핑됩니다. 그래서, n 개의 레이아웃이 필요합니다. 한 번에 하나의 객체 만 채울 수 있도록하고 싶습니다. 그래서, 나는 단지 1 레이아웃을 볼 수 있습니다.이 문제를 해결하기 위해서는 한 가지 방법은 .xml에서 n 개의 레이아웃이 있고 listener의 onitemselected에서 가시성을 가지고 노는 것입니다. 다른 더 나은/해결 된 방법이 있습니다. 이. 처음에 n의 값을 모르면 어떻게 동적으로 만들 수 있습니까?편집 상자와 회 전자가 포함 된 Android 동적 선형 레이아웃

`<Spinner 
    android:id="@+id/linesspinner" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" /> 


<LinearLayout 
    android:id="@+id/linView1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" > 

    <TextView 
     android:id="@+id/linename1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/linecffiltext" /> 

    <Spinner 
     android:id="@+id/trospinner1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:entries="@array/Tro_arrays" 
     android:prompt="@string/linetrotext" /> 

    <EditText 
     android:id="@+id/line1troval" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:ems="10" > 
    </EditText> 

    <Spinner 
     android:id="@+id/cfspinner1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:entries="@array/cf_arrays" 
     android:prompt="@string/linecffiltext" /> 

    <EditText 
     android:id="@+id/line1cfval" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:ems="10" > 
    </EditText> 
</LinearLayout> 

답변

0

시도해보십시오. LinearLayout을 다른 xml에 넣고 xml을 루프 내부에서 원하는 횟수만큼 호출하십시오. 샘플 XML, 이름 attrib_row.xml

<?xml version="1.0" encoding="utf-8"?> 
<Linearlayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" > 

<TextView 
    android:id="@+id/lable" 
    android:layout_width="150dip" 
    android:layout_column="0" 
    android:padding="3dip" 
    android:textColor="#000033" /> 
</Linearlayout> 

코드는 루프 당신의 response.With 위의 방법

Linearlayout row11 = (Linearlayout) LayoutInflater.from(this).inflate(
       R.layout.attrib_row, null); 
     ((TextView) row11.findViewById(R.id.lable)).setText("example"); 
+0

덕분에, 선형 레이아웃 screen.I가 row11 시도에 보이지 않는 것을 호출합니다. setVisibility (View.VISIBLE); 또한. – user2094188

관련 문제