Android可扩展列表子布局不正确膨胀?

时间:2013-12-16 07:44:40

标签: android android-layout expandablelistview

当我在可扩展列表中扩展子布局时,每次都会形成不同的格式。我正在使用具有权重属性的线性布局,所以我不认为这应该发生

getChildView()中没有额外的代码: -

    @Override
    public View getChildView(int groupPosition, int childPosition, boolean b, View convertView, ViewGroup viewGroup) {
    LayoutInflater cInflator = context.getLayoutInflater();
    if (convertView == null) {
        convertView = cInflator.inflate(R.layout.childrow, null);
    }
    return convertView;
}

childrow.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/list_headings"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/list_headings_gradient"
    android:padding="10dp" >

    <TextView
        android:id="@+id/user_summary"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="40dp"
        android:layout_weight="40"
        android:textColor="@color/manage_users_heading_grey"
        android:textSize="15sp"
        android:textStyle="bold" />

    <View
        android:layout_width="20dp"
        android:layout_height="20dp"
        android:layout_weight="30" />

    <TextView
        android:id="@+id/block"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="5"
        android:gravity="center"
        android:maxWidth="120dp"
        android:text="BLOCK"
        android:textColor="@color/red"
        android:textSize="16sp"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/activities"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="5dp"
        android:layout_weight="30"
        android:gravity="center"
        android:text="RESET PASSWORD"
        android:textColor="@color/manage_users_reset_pass"
        android:textSize="16sp"
        android:textStyle="bold" />

</LinearLayout>

图片1: - 正确扩展布局=首次展开: - enter image description here

图片2: - 扩展布局不正确=第二次展开: - enter image description here

1 个答案:

答案 0 :(得分:1)

在您使用layout_width="wrap_content"时不要使用layout_weight。请改用layout_width="0dp"

另外,你应该夸大你的布局:

convertView = cInflator.inflate(R.layout.childrow, viewGroup, false);