Android 设置线性布局高度不起作用

Android 设置线性布局高度不起作用,android,xml,Android,Xml,我在线性布局中有一个listview,其高度设置为“WRAP_CONTENT”,因此列表显示在线性布局中,当我填充列表时,我在每个列表行中附加一些隐藏的列表项,我想仅显示这些项ListItem单击listner 一切正常,但是如果我只有一个子列表,那么我必须滚动视图才能看到现在可见的布局, 我的问题是: 我想在单击列表项并且视图可见时增加线性布局的高度 这里是xml <LinearLayout android:id="@+id/listContainer" android:layout_w

我在线性布局中有一个listview,其高度设置为“WRAP_CONTENT”,因此列表显示在线性布局中,当我填充列表时,我在每个列表行中附加一些隐藏的列表项,我想仅显示这些项ListItem单击listner

一切正常,但是如果我只有一个子列表,那么我必须滚动视图才能看到现在可见的布局,
我的问题是:
我想在单击列表项并且视图可见时增加线性布局的高度

这里是xml

<LinearLayout
android:id="@+id/listContainer"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
    //used this relative layout to set different backgroung for each time..     


<RelativeLayout
    android:id="@+id/listHeader"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

    <TextView
        android:id="@+id/categoryTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:textColor="#FFFFFF"
        android:textSize="15sp" />
</RelativeLayout>

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

使用以下代码:

LinearLayout linear = new LinearLayout(getContext());
LayoutParams linearParams=new LayoutParams(LayoutParams.MATCH_PARENT,Height what you want);
而不是:

LayoutParams paramsLinearLayout;
    LinearLayout layoutContainer;
layoutContainer = (LinearLayout) findViewById(R.id.listContainer);
    paramsLinearLayout =  layoutContainer.getLayoutParams();
    layoutContainer.setMinimumHeight(paramsLinearLayout.WRAP_CONTENT);

我认为您不应该在包含高度换行内容的布局中具有高度匹配父视图,例如:

<LinearLayout
android:id="@+id/listContainer"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
    //used this relative layout to set different backgroung for each time..     

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

//使用此相对布局为每次设置不同的背景。。

您不能将linearlayout的高度也设置为与您的家长匹配吗?

如果这解决了您的问题,请接受答案。
<LinearLayout
android:id="@+id/listContainer"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
    //used this relative layout to set different backgroung for each time..     

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