addHeaderView 小鱼儿 2022-08-06 08:27 63阅读 0赞 当listview需要添加headerview时,可以通过调用listview的addHeaderView(headView, null, false) 方法, 该方法还有一个重载方法 addHeaderView(headView);这两个方法的区别是前一个方法可以控制header是否可 以被selected,如果不想被selected则将第三个参数设置成false; addHeaderView方法必须放在listview.setadapter前面,给listview添加头部必须在绑定adapter前添加,否则会报错。 原因是当我们在调用setAdapter方法时android会判断当前listview是否已经添加header,如果已经添加则会生成一个 新的tempadapter,这个新的tempadapter包含我们设置的adapter所有内容以及listview的header和footer。所以当我 们在给listview添加了header后在程序中调用listview.getadapter时返回的是tempadapter而不是我们通过setadapter 传进去的adapter。如果没有设置adapter则tempadapter与我们自己的adapter是一样的。 listview.getadapter().getcount()方法返回值会比我们预期的要大,原因是添加了header。 我们自定义adapter里面的getitem方法里面返回的position是不包括header的,是我们自定义adapter中数据position编号从0开始, 也就是说与我们传进去的list的位置是一样的。 而Activity中listview的onitemclick方法: public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) arg2是当前click的位置,这个位置是指在tempadapter中的位置,从0开始如果listview中添加了header则0代表header。
相关 addHeaderView 当listview需要添加headerview时,可以通过调用listview的addHeaderView(headView, null, false) 方法, 该方法还 小鱼儿/ 2022年08月06日 08:27/ 0 赞/ 64 阅读
相关 Android:ListView.addHeaderView()用法及其注意事项 一、 概述: 在代码中使用 listView.addHeaderView(…) 方法可以在ListView组件上方添加上其他组件,并且连结在一起像是一个新组件。如果多次使 青旅半醒/ 2022年07月27日 13:48/ 0 赞/ 423 阅读
相关 ListView中addHeaderView()和addFootView细节,带案例代码 要实现类似IMBd类似的布局。 ![m1\_thumb-1][m1_thumb-1] ![m2\_thumb-2][m2_thumb-2] 可以看出它的列表上方的图片展示 太过爱你忘了你带给我的痛/ 2022年07月18日 09:05/ 0 赞/ 124 阅读
还没有评论,来说两句吧...