本文实例为大家分享了StickyListHeaders电话本列表效果的具体代码,供大家参考,具体内容如下

效果展示
布局文件
与listview使用方式一样,可以在布局文件中直接进行使用
核心代码
oncreat方法
在oncreat方法中初始化控件,并为控件设置数据适配器
StickyListHeadersListView stickyList = (StickyListHeadersListView) findViewById(R.id.list); MyAdapter adapter = new MyAdapter(this); stickyList.setAdapter(adapter);
设置数据适配器
在设置数据适配器的时候,需要先继承BaseAdapter,然后实现StickyListHeadersAdapter接口,最后实现里面为实现的方法
public class MyAdapter extends BaseAdapter implements StickyListHeadersAdapter {
private String[] countries;
private LayoutInflater inflater;
public MyAdapter(Context context) {
inflater = LayoutInflater.from(context);
countries = context.getResources().getStringArray(R.array.countries);
}
@Override
public int getCount() {
return countries.length;
}
@Override
public Object getItem(int position) {
return countries[position];
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
holder = new ViewHolder();
convertView = inflater.inflate(R.layout.test_list_item_layout, parent, false);
holder.text = (TextView) convertView.findViewById(R.id.text);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.text.setText(countries[position]);
return convertView;
}
@Override
public View getHeaderView(int position, View convertView, ViewGroup parent) {
HeaderViewHolder holder;
if (convertView == null) {
holder = new HeaderViewHolder();
convertView = inflater.inflate(R.layout.header, parent, false);
holder.text = (TextView) convertView.findViewById(R.id.text);
convertView.setTag(holder);
} else {
holder = (HeaderViewHolder) convertView.getTag();
}
//set header text as first char in name
String headerText = + countries[position].subSequence(0, 1).charAt(0);
holder.text.setText(headerText);
return convertView;
}
@Override
public long getHeaderId(int position) {
//return the first character of the country as ID because this is what headers are based upon
return countries[position].subSequence(0, 1).charAt(0);
}
class HeaderViewHolder {
TextView text;
}
class ViewHolder {
TextView text;
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# StickyListHeaders
# 电话本
# 列表效果
# Android实现联动下拉框 下拉列表spinner的实例代码
# android二级listview列表实现代码
# android 支持的语言列表(汇总)
# Android uses-permission权限列表中文注释版
# Android通过LIstView显示文件列表的两种方法介绍
# Android ExpandableListView展开列表控件使用实例
# Android实现获取应用程序相关信息列表的方法
# android开发教程之使用listview显示qq联系人列表
# Android用ListView显示SDCard文件列表的小例子
# Android列表实现(3)_自定义列表适配器思路及实现代码
# 并为
# 大家分享
# 具体内容
# 大家多多
# setAdapter
# adapter
# StickyListHeadersAdapter
# BaseAdapter
# MyAdapter
# findViewById
# stickyList
# list
# id
# public
# inflater
# LayoutInflater
# context
相关文章:
兔展官网 在线制作,怎样制作微信请帖?
在线制作视频网站免费,都有哪些好的动漫网站?
c++ stringstream用法详解_c++字符串与数字转换利器
全景视频制作网站有哪些,全景图怎么做成网页?
网站按钮制作软件,如何实现网页中按钮的自动点击?
如何通过西部建站助手安装IIS服务器?
建站之星与建站宝盒如何选择最佳方案?
黑客如何通过漏洞一步步攻陷网站服务器?
如何通过FTP服务器快速搭建网站?
如何在宝塔面板中修改默认建站目录?
如何用已有域名快速搭建网站?
微信小程序 五星评分(包括半颗星评分)实例代码
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?
利用JavaScript实现拖拽改变元素大小
建站主机助手选型指南:2025年热门推荐与高效部署技巧
购物网站制作公司有哪些,哪个购物网站比较好?
如何用搬瓦工VPS快速搭建个人网站?
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?
制作门户网站的参考文献在哪,小说网站怎么建立?
如何挑选高效建站主机与优质域名?
香港服务器租用费用高吗?如何避免常见误区?
免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?
电商网站制作公司有哪些,1688网是什么意思?
西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么?
济南专业网站制作公司,济南信息工程学校怎么样?
在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?
高端智能建站公司优选:品牌定制与SEO优化一站式服务
网站制作报价单模板图片,小松挖机官方网站报价?
如何实现建站之星域名转发设置?
黑客入侵网站服务器的常见手法有哪些?
海南网站制作公司有哪些,海口网是哪家的?
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
,sp开头的版面叫什么?
商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?
如何选择适配移动端的WAP自助建站平台?
百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?
建站主机服务器选购指南:轻量应用与VPS配置解析
网站制作说明怎么写,简述网页设计的流程并说明原因?
存储型VPS适合搭建中小型网站吗?
,石家庄四十八中学官网?
西安大型网站制作公司,西安招聘网站最好的是哪个?
宝塔新建站点为何无法访问?如何排查?
如何基于PHP生成高效IDC网络公司建站源码?
如何在阿里云服务器自主搭建网站?
制作网站的软件免费下载,免费制作app哪个平台好?
php8.4新语法match怎么用_php8.4match表达式替代switch【方法】
建站之星安全性能如何?防护体系能否抵御黑客入侵?
如何高效完成自助建站业务培训?
*请认真填写需求信息,我们会在24小时内与您取得联系。