2014-09-26 143 views
1

我想解決這個問題,但我沒有找到任何幫助我的東西。ListView隱藏我的片段

我有這樣的佈局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_margin="8dp"> 

    <LinearLayout 
     android:id="@+id/list_lv" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@id/profile_layout" 
     android:layout_marginTop="8dp" 
     android:background="@drawable/border" 
     android:orientation="vertical" 
     android:padding="8dp" 
     android:weightSum="1"> 

     <ListView 
      android:id="@android:id/list" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" /> 

    </LinearLayout> 

    <FrameLayout 
     android:id="@+id/container" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_below="@id/list_lv" 
     android:layout_centerHorizontal="true" 
     android:background="@android:color/darker_gray" /> 

</RelativeLayout> 

在這我想顯示列表視圖下方的片段。在代碼中就是這個樣子(代碼爲ListActivity

getFragmentManager().beginTransaction().add(R.id.container, new BottomMenuFragment()).commit(); 
// Populate lisview and set adapter 

但是當我運行的應用程序,沒有顯示的片段,我認爲這個問題是與ListViewlist_lv的屬性android:layout_height="wrap_content"但我沒有想法。 。如何解決呢?下面是在列表中有多個數據的截圖:

enter image description here

而且隨着幾個項目:

enter image description here

回答

1

把ListView中的FrameLayout以上。從FrameLayout中刪除android:layout_below =「@ id/list_lv」,並將android:layout_above =「@ id/container」添加到LinearLayout。以下是ecode片段:

<FrameLayout 
     android:id="@+id/container" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_centerHorizontal="true" 
     android:background="@android:color/darker_gray" /> 

    <LinearLayout 
     android:id="@+id/list_lv" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@id/profile_layout" 
     android:layout_above="@id/container" 
     android:layout_marginTop="8dp" 
     android:background="@drawable/border" 
     android:orientation="vertical" 
     android:padding="8dp" 
     android:weightSum="1"> 

     <ListView 
      android:id="@android:id/list" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" /> 

    </LinearLayout> 
+1

謝謝,那就是我一直在尋找的東西。 – elbaulp 2014-09-26 12:14:03

+0

哦,如果我添加更多的元素,它不起作用:-( – elbaulp 2014-09-26 12:17:10

+0

你在哪裏添加更多的元素? – 2014-09-26 12:20:57

1

嘗試用這種XML佈局基本上將幫助您:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:weightSum="10" 
    android:orientation="vertical" 
    android:layout_margin="8dp"> 

    <LinearLayout 
     android:id="@+id/list_lv" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@id/profile_layout" 
     android:layout_marginTop="8dp" 
     android:background="@drawable/border" 
     android:orientation="vertical" 
     android:padding="8dp" 
     android:layout_weight="8"> 

     <ListView 
      android:id="@android:id/list" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" /> 

    </LinearLayout> 

    <FrameLayout 
     android:layout_weight="2" 
     android:id="@+id/container" 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_alignParentBottom="true" 
     android:layout_below="@id/list_lv" 
     android:layout_centerHorizontal="true" 
     android:background="@android:color/darker_gray" /> 

</LinearLayout> 
+0

它工作正常,但我想保留'RelativeLayout'。謝謝! – elbaulp 2014-09-26 12:14:29

0

試試這個。當然這將解決您的問題:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:weightSum="1"> 

<FrameLayout 
    android:id="@+id/list_lv" 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_marginTop="8dp"   
    android:orientation="vertical" 
    android:padding="8dp" 
    android:layout_weight="0.5"> 

    <ListView 
     android:id="@android:id/list" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" /> 

</FrameLayout> 

<FrameLayout 
    android:id="@+id/container" 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="0.5" 
    android:background="@android:color/darker_gray" /> </LinearLayout> 

如果它的工作正常投票!