当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。
分享到:
相关推荐
4. 头部和尾部视图:如果需要在ListView的开头或结尾添加特殊视图,可以使用`addHeaderView()`和`addFooterView()`方法。 总之,这个"实现2列ListView的Demo"是一个很好的学习资源,它展示了如何在Android中创建一...
你可以通过重写ListView的addHeaderView方法添加自定义头部视图。尾部视图则多用于上拉加载更多,可以显示加载状态的文本或者图标。自定义这部分时,需要处理好布局、动画和状态切换。 4. **刷新动画** 刷新动画...
这可以通过设置ListView的Header视图来实现,例如:`listView.addHeaderView(viewPagerHeader)` 4. 调整滑动逻辑:由于ListView和ViewPager都在同一视图层级,所以需要处理它们之间的滑动冲突。通常,我们需要监听...
ListView对象提供了`addHeaderView(View view)`和`addFooterView(View view)`这两个方法,可以用来添加头部和尾部的视图。首先,你需要创建一个XML布局文件来设计头部和尾部的界面,然后通过LayoutInflater解析这个...
可以使用`addHeaderView()`或`addFooterView()`方法添加。 6. **侧滑监听**:为了响应用户在侧边滑动选择字母的行为,我们需要监听`ListView`的滑动事件。这可以通过自定义`OnScrollListener`实现,当`...
调用ListView的addHeaderView和addFooterView方法即可: ```java listView.addHeaderView(headerView); listView.addFooterView(footerView); ``` 这些方法会在ListView的数据项之前添加头部,之后添加尾部。...
5. **集成到ListView**:将自定义的刷新Header添加到ListView中,可以通过`addHeaderView()`方法实现。确保在`onScrollListener`中处理Header的状态,比如在ListView顶部时显示刷新Header,否则隐藏。 6. **适配...
6. **Header和Footer**:可以通过`addHeaderView`和`addFooterView`方法添加头部和尾部视图,如搜索框、广告栏等。 7. **自定义适配器**:如果SimpleAdapter无法满足所有需求,可以考虑继承BaseAdapter来自定义更...
5. **Header和Footer**:如果需要在ListView头部或尾部添加额外的视图,可以使用addHeaderView()和addFooterView()方法。 6. **空视图(Empty View)**:当ListView没有数据时,显示一个空视图可以提供更好的用户体验...
5. **Header and Footer**:ListView还支持添加头部和尾部视图,可以通过addHeaderView()和addFooterView()方法实现。 6. **Smooth Scrolling**:ListView的平滑滚动可以让用户体验更佳,可以通过...
将Header View添加到ListView中,可以使用ListView的addHeaderView方法。同时,为了实现Header随列表项一起滚动的效果,需要对滚动事件进行监听,通常通过OnScrollListener来完成。当ListView滚动时,调整Header的...
3. 设置头部视图:将自定义的头部视图添加到ListView的顶部,可以通过addHeaderView()方法实现。 4. 处理下拉刷新逻辑:在监听到用户下拉到一定位置并松手后,启动数据刷新任务。这通常在onScrollStateChanged()...
5. **Header和Footer**: ListView还支持添加头部(header)和尾部(footer)视图,这可以通过addHeaderView()和addFooterView()方法实现,常用于展示分类标题或者操作按钮。 6. **ListView的优化**: 当数据集很大时...
3. 添加头部:使用addHeaderView()方法将下拉刷新布局添加到ListView的顶部。 4. 监听事件:实现OnScrollListener接口,重写onScroll()和onScrollStateChanged()方法,判断用户是否正在进行下拉操作。 5. 处理刷新:...
6. **利用addHeaderView和addFooterView**:在ListView的头部或尾部添加一个假的EditText,可以避免真实EditText在滚动时的错位问题。 7. **使用android:descendantFocusability属性**:在ListView的父布局中设置该...
ListView提供了addHeaderView()方法,可以将一个View添加到列表的顶部。这个View将不会被视为列表项的一部分,而是独立于数据集之外。这种方法简单直观,但需要手动处理“钉顶”效果的触发时机,例如在...
6. **头部和尾部**:可以通过addHeaderView和addFooterView方法添加固定在顶部和底部的视图,模拟表格的表头和表尾。 7. **选择和排序**:如果需要支持多选,可以使用ChoiceMode属性设置为MULTIPLE_CHOICE或...
- 将这个头部视图添加到ListView的顶部,可以通过在ListView的XML布局文件中设置`addHeaderView()`方法,或者在代码中动态添加。 2. **处理触摸事件** - 在ListView的OnTouchListener中监听用户的下拉手势。当...
- `addHeaderView()`和`addFooterView()`:可以向ListView的顶部或底部添加固定视图,常用于显示广告或提示信息。 6. **下拉刷新和上拉加载更多**: - `SwipeRefreshLayout`:为ListView添加下拉刷新功能,当用户...
2. **使用Header和Footer**:如果只是想在ListView顶部或底部添加一个固定的ScrollView,可以考虑使用ListView的addHeaderView()和addFooterView()方法,将ScrollView作为头部或尾部添加,这样就不需要嵌套,避免了...