2011-12-02 87 views
0

我目前正在開發一個Android應用程序,並且我有一個關於佈局的問題。在我的XML佈局文件中,我創建了一個相對佈局(fill_parent的寬度和wrap_content的高度),其中包含一個列表視圖(或可能是一個消耗性的列表視圖 - fill_parent高度和寬度)。在相應的activity的onCreate方法中,我只需將對應於我的列表的適配器設置並將其附加到我的列表中。問題是,當我運行我的應用程序相對佈局只有93dip的大小,所以它隱藏我的列表,其大小從67到210dip當我想相對佈局高度堅持列表當前大小(大小在創建或恢復活動時可能不會通過活動中的操作進行更改)。有誰會有解決方案的想法來解決這個問題嗎?設置包含listView的相對佈局的高度

因爲問了一些代碼:

<LinearLayout android:id="@+id/content" 
       android:layout_width="fill_parent" 
       android:background="@drawable/row" 
       android:layout_below="@+id/header" 
       android:layout_height="wrap_content"> 
     <ListView android:id="@+id/list" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:background="@drawable/listrow"/> 
</LinearLayout> 

並在Java文件(其中snapRecords是我的對象列表):

m_panel = (RelativeLayout)findViewById(R.id.lastFareRecordPanel); 
ListView lv = (ListView)m_panel.findViewById(R.id.list); 
final QuickSnapBookmarksAdapter adapter = new QuickSnapBookmarksAdapter(snapRecords, getApplicationContext(), this, lv); 
lv.setAdapter(adapter); 

提前感謝您的幫助!

貝尼亞

+2

你可以添加的佈局和一些代碼嗎? –

+1

你爲什麼不使用LinearLayout?在你的項目中使用RelativeLayout有什麼特別的理由嗎? – Jayabal

+0

那麼,理論上我可以修改它,但我寧願不這樣做,因爲那意味着對我來說會有很多變化,但對於其他從事項目工作的人也是如此......如果我真的需要,但我首先想要知道如果解決方案可能存在與我的問題相對佈局... – Ben

回答

0

我有一個類似的situation.When我改變父佈局到LinearLayout中,它working.Here是代碼:

<?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:background="#FFFFFF" 
    android:orientation="vertical" > 

    <LinearLayout 
     android:id="@+id/LinearLayout" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" > 

     <ImageButton 
      android:id="@+id/prev" 
      android:layout_width="106dip" 
      android:layout_height="wrap_content" 
      android:layout_gravity="right" 
      android:background="@null" 
      android:onClick="prev" 
      android:paddingTop="8dip" 
      android:src="@drawable/previous" > 
     </ImageButton> 

     <ImageButton 
      android:id="@+id/next" 
      android:layout_width="106dip" 
      android:layout_height="wrap_content" 
      android:layout_gravity="right" 
      android:background="@null" 
      android:onClick="next" 
      android:paddingTop="8dip" 
      android:src="@drawable/next" > 
     </ImageButton> 

     <ImageButton 
      android:id="@+id/Logout" 
      android:layout_width="106dip" 
      android:layout_height="wrap_content" 
      android:layout_gravity="right" 
      android:background="@null" 
      android:onClick="logout" 
      android:paddingTop="8dip" 
      android:src="@drawable/logout1" 
      android:text="@string/Logout" > 
     </ImageButton> 
    </LinearLayout> 

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

    <TextView 
     android:id="@android:id/empty" 
     android:layout_width="fill_parent" 
     android:layout_height="338dip" 
     android:text="@string/EmptyList" 
     android:textSize="35dip" /> 

    <LinearLayout 
     android:id="@+id/LinearLayout1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" > 

     <ImageButton 
      android:id="@+id/prev1" 
      android:layout_width="106dip" 
      android:layout_height="wrap_content" 
      android:layout_gravity="right" 
      android:background="@null" 
      android:onClick="prev" 
      android:src="@drawable/previous" > 
     </ImageButton> 

     <ImageButton 
      android:id="@+id/next1" 
      android:layout_width="106dip" 
      android:layout_height="wrap_content" 
      android:layout_gravity="right" 
      android:background="@null" 
      android:onClick="next" 
      android:src="@drawable/next" > 
     </ImageButton> 

     <ImageButton 
      android:id="@+id/Logout" 
      android:layout_width="106dip" 
      android:layout_height="wrap_content" 
      android:layout_gravity="right" 
      android:background="@null" 
      android:onClick="logout" 
      android:src="@drawable/logout1" 
      android:text="@string/Logout" > 
     </ImageButton> 
    </LinearLayout> 

</LinearLayout> 
+0

你解決了這個問題嗎? – freshDroid

+0

對不起,我在爲我的問題添加一些代碼的同時測試了您的解決方案...但不是...在我的情況下不起作用...完全相同的問題... – Ben

+0

除列表之外是否還有其他視圖視圖?嘗試刪除父佈局,如果listview是唯一的孩子... – freshDroid