最近在做一项购物车界面呈现时,数据是一个地址对应不同数量的商品,但是也会有很多不同的地址,如图所示
当时脑子里首先想到用listview里面再嵌套一个listview,虽然这样是不推荐的做法,但是本着试试的想法就做了下去。
1.那好,咱们从第一步开始,首先是设计布局,外面大的listview的布局就不用多说了,主要是他的模板应该怎样设计,我们需要在模板中添加listview控件
<RelativeLayout xmlns:Android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ffffff"
android:padding="5dp" >
<TextView
android:id="@+id/tvReceiveAddress"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:text="收货人:\n收货电话:13333333333\n收货地址:北京" />
<TextView
android:gravity="center"
android:id="@+id/tvTotalDesc"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/tvReceiveAddress"
android:text="共1件,总金额:¥25.80" />
<com.gyl.dangdang.activity.MyListView
android:id="@+id/listView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/tvTotalDesc" >
</com.gyl.dangdang.activity.MyListView>
</RelativeLayout>
好了,这样就在listview中又嵌套了一个listview,咱们可以发现我用到的listview是自己写的类,为什么这样呢,因为大多数人都不推荐这样的设计,因为默认情况下Android是禁止在ScrollView中放入另外的ScrollView的,它的高度是无法计算的,高度无法计算就会导致放入的小ListView会显示不完全,这是我亲自验证过的,所以我为了能计算它的高度,自己又重写了一个listview类
2,重写listview类,以此类作为嵌套的小的listview,解