本文实例为大家分享了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实现电话本列表效果所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)