设置包含listView的相对布局的高度

时间:2011-12-02 09:20:30

标签: android listview layout relativelayout

我目前正在开发Android应用,我遇到了有关布局的问题。在我的XML布局文件中,我创建了一个相对布局(fill_parent为width,wrap_content为height),其中包含一个列表View(或者可能是一个可消耗的List View - fill_parent的高度和宽度)。在相应的活动onCreate方法中,我只需设置与我的列表对应的适配器并将其附加到我的列表中。问题是,当我运行我的应用程序时,相对布局只有93dip的大小,所以它隐藏了我的列表,其大小从67到210dip,当我希望相对布局高度坚持列表当前大小(大小)在创建或恢复活动时,永远不会改变活动中的动作。有人会想出解决方案吗?

有些代码被问到:

<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);

非常感谢您的帮助!

贝尼亚

1 个答案:

答案 0 :(得分:0)

我有一个类似的情况。当我将父布局更改为LinearLayout时,它正在工作。这是代码:

  <?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>