布局代码

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent" >

android:id="@+id/letterListView"

android:layout_width="match_parent"

android:layout_height="match_parent" >

MainActivity

public class MainActivity extends Activity

{

@Override

protected void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

LetterListView letterListView = (LetterListView) findViewById(R.id.letterListView);

letterListView.setAdapter(new TestAdapter());

}

/**

* 这里 使用一个简单的 NameValuePair 对象,做为测试

*@Title:

*@Description:

*@Author:Justlcw

*@Since:2014-5-13

*@Version:

*/

class TestAdapter extends LetterBaseListAdapter

{

/** 字母对应的key,因为字母是要插入到列表中的,为了区别,所有字母的item都使用同一的key. **/

private static final String LETTER_KEY = "letter";

/** 这里的数据都已经按着字母排序好了, 所以传入进来的数据也应排序好,不然会出现跳转问题. **/

String[] dataArray = {

"鞍山", "案场", "白宫", "白云", "白俄", "长沙", "常州", "常熟", "大厂", "大娜迦",

"福州", "福建", "富豪", "广州", "湖南", "湖北", "胡同", "加州","加拉大", "家具",

"开门", "开始", "可能", "连接", "利用","煤化工", "密度","漫画", "你好", "你的",

"哪些", "欧版", "排行", "贫困", "平时", "请问", "确认", "其他", "染发", "让他",

"头像", "是个", "数据", "天空", "退出", "提示", "为空", "维护", "新建", "想到",

"用户", "阅读", "知道", "这本", "足球"};

public TestAdapter()

{

super();

List dataList = new ArrayList();

for(int i=0; i

{

NameValuePair pair = new BasicNameValuePair(String.valueOf(i), dataArray[i]);

dataList.add(pair);

}

setContainerList(dataList);

}

@Override

public Object getItem(int position)

{

return list.get(position);

}

@Override

public long getItemId(int position)

{

return position;

}

@Override

public String getItemString(NameValuePair t)

{

return t.getValue();

}

@Override

public NameValuePair create(char letter)

{

return new BasicNameValuePair(LETTER_KEY, String.valueOf(letter));

}

@Override

public boolean isLetter(NameValuePair t)

{

//判断是不是字母行,通过key比较,这里是NameValuePair对象,其他对象,就由你自己决定怎么判断了.

return t.getName().equals(LETTER_KEY);

}

@Override

public View getLetterView(int position, View convertView, ViewGroup parent)

{

//这里是字母的item界面设置.

if(convertView == null)

{

convertView = new TextView(MainActivity.this);

((TextView)convertView).setGravity(Gravity.CENTER_VERTICAL);

convertView.setBackgroundColor(getResources().getColor(android.R.color.white));

}

((TextView)convertView).setText(list.get(position).getValue());

return convertView;

}

@Override

public View getContainerView(int position, View convertView, ViewGroup parent)

{

//这里是其他正常数据的item界面设置.

if(convertView == null)

{

convertView = new TextView(MainActivity.this);

((TextView)convertView).setGravity(Gravity.CENTER_VERTICAL);

}

((TextView)convertView).setText(list.get(position).getValue());

return convertView;

}

}

}

实际效果如下

android 字母索引三方,Android ListView字母索引(仿微信通讯录列表)相关推荐

  1. android 字母搜索栏,android仿微信通讯录搜索示例(匹配拼音,字母,索引位置)

    前言: 仿微信通讯录搜索功能,通过汉字或拼音首字母找到匹配的联系人并显示匹配的位置 一:先看效果图 字母索引 搜索匹配 二:功能分析 1:汉字转拼音 通讯录汉字转拼音(首个字符当考虑姓氏多音字), 现 ...

  2. android 通讯录 首字母索引,android仿微信通讯录搜索(匹配拼音,字母,索引位置标记颜色)...

    前言: 仿微信通讯录搜索功能,通过汉字或拼音首字母找到匹配的联系人并显示匹配的位置 一:先看效果图 字母索引 搜索匹配 二:功能分析 1:汉字转拼音 通讯录汉字转拼音(首个字符当考虑姓氏多音字), 现 ...

  3. Android仿微信通讯录

    Android仿微信通讯录 分3部: 1.listview实现显示头像.名字(太简单,这里就不写了) 通讯录页面xml布局代码: <LinearLayout xmlns:android=&quo ...

  4. RecyclerView+index索引实现仿微信通讯录

    感觉之前写的有点乱,所以有重新整理了一下这个博客: demo下载地址:http://download.csdn.net/detail/qq_34501274/9799175 最近跟朋友聊天,说道博客相 ...

  5. 【Android 仿微信通讯录 导航分组列表-上】使用ItemDecoration为RecyclerView打造带悬停头部的分组列表

    *本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 转载请标明出处: http://blog.csdn.net/zxt0601/article/details/52355199 本文 ...

  6. android的实现关注好友功能,android仿微信好友列表功能

    android studio实现微信好友列表功能,注意有一个jar包我没有放上来,请大家到MainActivity中的那个网址里面下载即可,然后把pinyin4j-2.5.0.jar复制粘贴到项目的a ...

  7. Android显示九宫图(自定义圆角,仿微信九宫格图)

    详细解析Android显示九宫图(自定义圆角,仿微信九宫格图) 这是一个自定义九宫格图片框架,里面有设置圆角大小,还有当图片一张的时候控件自定义的大小,图片的间隔,四张图片的时候图片自定义为两行两列等 ...

  8. uni-app 写小程序 索引列表,仿微信通讯录

    心里认定了一个女孩 就要好好的珍惜对待她,人生不容辜负,你必须要更加努力 .加油 骚年 uni-app 写小程序 索引列表,仿微信通讯录 去uni-app官网 下载插件 indexlist <m ...

  9. android 自定义view,字母排序(仿微信好友列表)

    一:简言 一个月没有写博客了,公司项目比较忙,最近发现公司用到一个知识点,所以抽时间通过博客的形式分享给大家,该知识点,模仿微信的好友列表,通过字母索引进行定位,该功能主要通过几个知识点实现.下面会一 ...

最新文章

  1. yii2的model数据库配置以及应用(主从数据库配置)
  2. 深度学习笔记一:稀疏自编码器
  3. [CTSC2017]吉夫特
  4. 服务器做文件共享服务特点,服务器主机做共享文件
  5. 超全局变量数组get post requerst resver的使用规则
  6. Android studio之迁移定制出现Installation failed with message Failed to finalize session
  7. 【LCT】遥远的国度(P3979)
  8. 行星齿轮设计_3D打印用于制造刚度平衡的行星架
  9. 简析面向对象中的继承,原型链,闭包之继承
  10. TreeView 节点多选,对TreeView的遍历
  11. LINUX安装百度网盘
  12. 网页隐藏index.php,如何隐藏url中的index.php
  13. 计算机发展简史及其关键技术年表
  14. PDF编辑/PDF浏览/PDF打印:PDFPrinting.NET Crack
  15. ABAP BDC返回成功但是未创建单据或没有产生相应效果
  16. 计算机控制闪光灯,并联控制式自动调光闪光灯 - 最全的照相机闪光灯电路图大全(十款照相机闪光灯电路图详解)...
  17. 容器(Container)
  18. 暗影精灵6加装M.2固态硬盘详细教程
  19. java 星期一_用java写一个月有多少个星期一,并且显示出
  20. gateway---服务网关

热门文章

  1. 国庆福利“CSS定位大礼包”
  2. leach分簇功能实现matlab,一种改进的LEACH分簇层次路由算法的制作方法
  3. Python学习笔记No1
  4. 【OpenCV】对比度增强之直方图正规化(归一化)
  5. python 判断参数为Nonetype类型或空
  6. 代替网易见外的智能语音识别转换字幕工具
  7. Windows10下的超详细Java安装步骤
  8. 全国网球青年团体锦标赛
  9. 新网域名查询和注册API接口类
  10. 织梦站内选择文件夹和图片文件排序后台模板管理按名称排序