`
yxwang0615
  • 浏览: 561313 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

addHeaderView【转】

 
阅读更多

当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。

分享到:
评论

相关推荐

    实现2列ListView的Demo(我以此为基础实现了自己的功能,转的,赚点分)

    4. 头部和尾部视图:如果需要在ListView的开头或结尾添加特殊视图,可以使用`addHeaderView()`和`addFooterView()`方法。 总之,这个"实现2列ListView的Demo"是一个很好的学习资源,它展示了如何在Android中创建一...

    listView刷新动画

    你可以通过重写ListView的addHeaderView方法添加自定义头部视图。尾部视图则多用于上拉加载更多,可以显示加载状态的文本或者图标。自定义这部分时,需要处理好布局、动画和状态切换。 4. **刷新动画** 刷新动画...

    ListView头视图为自动播放的ViewPager

    这可以通过设置ListView的Header视图来实现,例如:`listView.addHeaderView(viewPagerHeader)` 4. 调整滑动逻辑:由于ListView和ViewPager都在同一视图层级,所以需要处理它们之间的滑动冲突。通常,我们需要监听...

    listview的头和尾巴,每个item里面的数据相加

    ListView对象提供了`addHeaderView(View view)`和`addFooterView(View view)`这两个方法,可以用来添加头部和尾部的视图。首先,你需要创建一个XML布局文件来设计头部和尾部的界面,然后通过LayoutInflater解析这个...

    ListView使用索引字母

    可以使用`addHeaderView()`或`addFooterView()`方法添加。 6. **侧滑监听**:为了响应用户在侧边滑动选择字母的行为,我们需要监听`ListView`的滑动事件。这可以通过自定义`OnScrollListener`实现,当`...

    listview的头部尾部布局

    调用ListView的addHeaderView和addFooterView方法即可: ```java listView.addHeaderView(headerView); listView.addFooterView(footerView); ``` 这些方法会在ListView的数据项之前添加头部,之后添加尾部。...

    Android 模仿58同城下拉刷新的效果

    5. **集成到ListView**:将自定义的刷新Header添加到ListView中,可以通过`addHeaderView()`方法实现。确保在`onScrollListener`中处理Header的状态,比如在ListView顶部时显示刷新Header,否则隐藏。 6. **适配...

    android-listView-SimpleAdapter-进阶1.rar

    6. **Header和Footer**:可以通过`addHeaderView`和`addFooterView`方法添加头部和尾部视图,如搜索框、广告栏等。 7. **自定义适配器**:如果SimpleAdapter无法满足所有需求,可以考虑继承BaseAdapter来自定义更...

    Android_listView学习的问题(2021年4月14日205555).docx

    5. **Header和Footer**:如果需要在ListView头部或尾部添加额外的视图,可以使用addHeaderView()和addFooterView()方法。 6. **空视图(Empty View)**:当ListView没有数据时,显示一个空视图可以提供更好的用户体验...

    应用源码之listView.zip

    5. **Header and Footer**:ListView还支持添加头部和尾部视图,可以通过addHeaderView()和addFooterView()方法实现。 6. **Smooth Scrolling**:ListView的平滑滚动可以让用户体验更佳,可以通过...

    安卓Andriod源码——仿网易新闻listview加header图片滚动,上拉下拉刷新.zip

    将Header View添加到ListView中,可以使用ListView的addHeaderView方法。同时,为了实现Header随列表项一起滚动的效果,需要对滚动事件进行监听,通常通过OnScrollListener来完成。当ListView滚动时,调整Header的...

    Android ListView下拉刷新 Demo.zip

    3. 设置头部视图:将自定义的头部视图添加到ListView的顶部,可以通过addHeaderView()方法实现。 4. 处理下拉刷新逻辑:在监听到用户下拉到一定位置并松手后,启动数据刷新任务。这通常在onScrollStateChanged()...

    Android应用源码之listView1.zip

    5. **Header和Footer**: ListView还支持添加头部(header)和尾部(footer)视图,这可以通过addHeaderView()和addFooterView()方法实现,常用于展示分类标题或者操作按钮。 6. **ListView的优化**: 当数据集很大时...

    ListView下拉刷新

    3. 添加头部:使用addHeaderView()方法将下拉刷新布局添加到ListView的顶部。 4. 监听事件:实现OnScrollListener接口,重写onScroll()和onScrollStateChanged()方法,判断用户是否正在进行下拉操作。 5. 处理刷新:...

    Android listview

    6. **利用addHeaderView和addFooterView**:在ListView的头部或尾部添加一个假的EditText,可以避免真实EditText在滚动时的错位问题。 7. **使用android:descendantFocusability属性**:在ListView的父布局中设置该...

    基于Android的ListView保持在列表的顶部固定View 案例分析 源码.zip

    ListView提供了addHeaderView()方法,可以将一个View添加到列表的顶部。这个View将不会被视为列表项的一部分,而是独立于数据集之外。这种方法简单直观,但需要手动处理“钉顶”效果的触发时机,例如在...

    Android Listview表格

    6. **头部和尾部**:可以通过addHeaderView和addFooterView方法添加固定在顶部和底部的视图,模拟表格的表头和表尾。 7. **选择和排序**:如果需要支持多选,可以使用ChoiceMode属性设置为MULTIPLE_CHOICE或...

    Android 源码自定义ListView下拉刷新

    - 将这个头部视图添加到ListView的顶部,可以通过在ListView的XML布局文件中设置`addHeaderView()`方法,或者在代码中动态添加。 2. **处理触摸事件** - 在ListView的OnTouchListener中监听用户的下拉手势。当...

    Android listView学习源码-IT计算机-毕业设计.zip

    - `addHeaderView()`和`addFooterView()`:可以向ListView的顶部或底部添加固定视图,常用于显示广告或提示信息。 6. **下拉刷新和上拉加载更多**: - `SwipeRefreshLayout`:为ListView添加下拉刷新功能,当用户...

    ScrollView嵌套ListView刷新

    2. **使用Header和Footer**:如果只是想在ListView顶部或底部添加一个固定的ScrollView,可以考虑使用ListView的addHeaderView()和addFooterView()方法,将ScrollView作为头部或尾部添加,这样就不需要嵌套,避免了...

Global site tag (gtag.js) - Google Analytics