2012-04-13 17 views
0

我試圖使LinearLayout的列表成爲VISIBLE,只需單擊「標題」LinearLayout即可。Android - 具有多個項目的可摺疊LinearLayout

<LinearLayout android:id="@+id/sample_title" ...> 
    <TextView ... /> 
</LinearLayout> 
<LinearLayout 
    android:id="@+id/sample_content" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:visibility="gone" > 
    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:duplicateParentState="true" 
     android:orientation="horizontal" 
     android:visibility="visible" > 
     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_weight="1.0" 
      android:gravity="left" 
      android:text="Sample text 1" 
      android:textColor="@color/white" /> 
     <CheckBox 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="" /> 
    </LinearLayout> 
    <LinearLayout 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:duplicateParentState="true" 
     android:orientation="horizontal" 
     android:visibility="visible" > 
     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_weight="1.0" 
      android:gravity="left" 
      android:text="Sample text 2" 
      android:textColor="@color/white" /> 
     <CheckBox 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="" /> 
    </LinearLayout> 
</LinearLayout> 

編程:

mSampleTitle = (LinearLayout) mView.findViewById(R.id.sample_title); 
mSampleTitle.setOnClickListener(this); 
mSampleContent = (LinearLayout) mView.findViewById(R.id.sample_content); 

[...] 

public void onClick(View v) { 
    if (v == mSampleTitle) { 
     mSampleContent.setVisibility(mSampleContent.getVisibility() == View.VISIBLE ? View.GONE : View.VISIBLE); 
    } 
} 

它工作正常,有當只有一個TextView顯示,但只要有更多的,只有第一個變得可見,所有剩下的只是空白。

謝謝

+0

都是你textviews宣佈爲「FILL_PARENT」? – dmon 2012-04-13 13:02:38

+0

我用完整的XML編輯了OP。 – shkschneider 2012-04-13 13:26:09

+0

看起來像我忘了'android:orientation =「vertical」'... – shkschneider 2012-04-13 13:38:45

回答

0

我的壞,愚蠢的錯誤。我忘了android:orientation="vertical"。更改VISIBILITY的代碼正常工作。

<LinearLayout 
    android:id="@+id/sample_content" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:visibility="gone" > 

<LinearLayout 
    android:id="@+id/sample_content" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" 
    android:visibility="gone" > 

我仍然覺得不可思議,他們說的LinearLayout水平以下這麼多空白的事實...

相關問題