自定义ListView,隐藏的孩子

时间:2011-08-01 11:51:15

标签: android listview

我使用 ListActivity ArrayAdapter<> 来创建我自己的自定义无限可扩展列表。

父行布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/layoutsHolder"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="left|top"
    android:paddingBottom="10px">
        <LinearLayout android:id="@+id/layout1holder"
            android:orientation="horizontal"
            android:layout_height="wrap_content"
            android:layout_width="match_parent"
            android:gravity="top|left"
            android:paddingBottom="5px">
            <TextView android:id="@+id/level"
                android:layout_marginTop="6px"
                android:layout_marginLeft="5px"
                android:textColor="@color/gray"
                android:textSize="40px"
                android:layout_height="wrap_content"
                android:layout_width="wrap_content"
                android:gravity="left|center_vertical"></TextView>
            <TextView android:id="@+id/expander"
                android:layout_weight="0"
                android:layout_marginTop="6px"
                android:layout_marginLeft="5px"
                android:text="&gt;"
                android:textColor="@color/gray"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textSize="40px"
                android:layout_gravity="left|center_vertical"></TextView>
            <TextView android:id="@+id/label"
                android:layout_weight="1"
                android:layout_marginTop="6px"
                android:layout_marginLeft="5px"
                android:text="..."
                android:textColor="@color/gray"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textSize="40px"
                android:layout_gravity="left|center_vertical"></TextView>
        </LinearLayout>

        <ListView android:id="@+id/listHolder"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <!-- there i put children rows-->
        </ListView>
</LinearLayout>

儿童行:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/rowHolder"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="left"
    android:layout_gravity="left">
    <TextView android:id="@+id/level"
        android:text=""
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="@color/gray"
        android:textSize="40px"
        android:layout_marginTop="6px"
        android:layout_marginLeft="5px"
        android:gravity="left|center_vertical"></TextView>
    <TextView android:id="@+id/label"
        android:text="..."
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:textColor="@color/gray"
        android:textSize="40px"
        android:layout_marginTop="6px"
        android:layout_marginLeft="5px"
        android:layout_marginRight="10px"
        android:gravity="left|center_vertical"></TextView>
</LinearLayout>

初始化列表时,隐藏了父行的 listHolder

viewHolder.listHolder.setVisibility(View.GONE);

然后会添加孩子:

holder.listHolder.setAdapter(new MyArrayAdapter((Activity)this.context, this.db, ...));

点击扩展程序 * listHolder *必须可见:

viewHolder.listHolder.setVisibility(View.VISIBLE);

但这就是我所看到的:

在扩展之前:http://i.stack.imgur.com/OOWyQ.png

展开后:http://i.stack.imgur.com/TZ9S4.png

那么,发生了什么?

0 个答案:

没有答案