天蠶在你身邊


不方便打電話(huà)?讓天蠶聯(lián)絡(luò )你

天蠶在你身邊
不方便打電話(huà)?讓天蠶聯(lián)絡(luò )你
重慶網(wǎng)絡(luò )公司:APP網(wǎng)站開(kāi)發(fā)中listview的問(wèn)題處理,我們在A(yíng)PP開(kāi)發(fā)中,因為項目需要動(dòng)態(tài)調整listview的頁(yè)眉頁(yè)腳,舉例:header作為顯示板使用,我們通常采用方法二種。
方法一:修改itemView的結構,代碼如下:
1 “<”LinearLayout android:id="@+id/item_root"
2 android:layout_width="fill_parent"
3 android:layout_height="50dip"
4 android:orientation="vertical" >
5 “<”LinearLayout android:id="@+id/item_container"
6 “<”TextView android:id="@+id/tv_1" />
7 “<”TextView android:id="@+id/tv_2" />
8 “<”/LinearLayout>”
9 “<”/LinearLayout >
增加了一個(gè)多余的Layout(item_container)來(lái)囊括item內部控件。此時(shí),如果在item_container .setVisibility(View.GONE)則可以完美實(shí)現隱藏HeaderView的目的!
小結:View.GONE屬性不作用在根Layout上。
如果在item_root上使用了Shape背景,且此背景存在MinSize,那么此方法又失效了, 規避處理:如果的確必須要在HeaderView上添加背景background的話(huà),那么請將background設置在item_container上吧,不要設置在item_root上,如此就可以規避新的問(wèn)題了
方法二:如使用View.GONE屬性進(jìn)行隱藏,itemView代碼如下:
1 “<”LinearLayout android:id="@+id/item_root"
2 android:layout_width="fill_parent"
3 android:layout_height="50dip"
4 android:orientation="vertical" >
5 “<”TextView android:id="@+id/tv_1" />
6 “<”TextView android:id="@+id/tv_2" />
7 “<”/LinearLayout >
小結:listView.addHeaderView()方法必須在setAdapter()方法前調用,否則就會(huì )拋異常。至于為什么會(huì )拋異常,查看下ListView的源代碼即可發(fā)現。因此,在設置HeaderView之后又想將headerView移除或者隱藏,則需要繞很大的彎子:將adapter保存起來(lái)-移除headerView-(或者更換headerview)-再將adapter設置上去
地址:重慶市渝中區上清寺鑫隆達B座28-8
郵編:400015
電話(huà):023-63612462
EMAIL:cnjl_net@163.com