天蚕在你身边

不方便打电话?让天蚕联络你

我们存在,我们思索,我们不断进取首页 >> 资讯 >> APP资料库
重庆网络公司:APP网站开发中listview的问题处理

重庆网络公司:APP网站开发中listview的问题处理,我们在APP开发中,因为项目需要动态调整listview的页眉页脚,举例: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 >

增加了一个多余的Layout(item_container)来囊括item内部控件。此时,如果在item_container .setVisibility(View.GONE)则可以完美实现隐藏HeaderView的目的!

小结:View.GONE属性不作用在根Layout上。

如果在item_root上使用了Shape背景,且此背景存在MinSize,那么此方法又失效了, 规避处理:如果的确必须要在HeaderView上添加背景background的话,那么请将background设置在item_container上吧,不要设置在item_root上,如此就可以规避新的问题了

方法二:如使用View.GONE属性进行隐藏,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()方法前调用,否则就会抛异常。至于为什么会抛异常,查看下ListView的源代码即可发现。因此,在设置HeaderView之后又想将headerView移除或者隐藏,则需要绕很大的弯子:将adapter保存起来-移除headerView-(或者更换headerview)-再将adapter设置上去


前一篇: 重庆网络公司:关于APP定义代码书写兼容性问题          本文已经是最晚的一篇

地址:重庆市渝中区上清寺鑫隆达B座28-8

邮编:400015

电话:023-63612462

EMAIL:cnjl_net@163.com

渝ICP备09007657号-6

渝公网安备 50010302000872号

渝中区网站建设江津网站建设渝北网站建设南坪网站建设大渡口网站建设沙坪坝网站建设九龙坡网站建设巴南区网站建设
北碚网站建设江北网站建设永川网站建设万盛网站建设梁平网站建设秀山网站建设大足网站建设天蚕网络动态