Android StickyListHeaders实现电话本列表效果

Android StickyListHeaders实现电话本列表效果,第1张

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

本文实例为大家分享了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);}@OverrIDepublic int getCount() { return countrIEs.length;}@OverrIDepublic Object getItem(int position) { return countrIEs[position];}@OverrIDepublic 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,VIEwGroup parent) { headerVIEwHolder holder; if (convertVIEw == null) {  holder = new headerVIEwHolder();  convertVIEw = inflater.inflate(R.layout.header,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;}@OverrIDepublic 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;}}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

总结

以上是内存溢出为你收集整理的Android StickyListHeaders实现电话本列表效果全部内容,希望文章能够帮你解决Android StickyListHeaders实现电话本列表效果所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1146187.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存