现代装修风格,w995主题,柯南和灰原哀的图片
本文实例为大家分享了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; } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Android studio开发小型对话机器人app(实例代码)
Android通过Java sdk的方式接入OpenCv的方法
Android 通过cmake的方式接入opencv的方法步骤
Android Studio finish()方法的使用与解决app点击“返回”(直接退出)
Android 进度条 ProgressBar的实现代码(隐藏、出现、加载进度)
网友评论