android 字母索引三方,Android ListView字母索引(仿微信通讯录列表)
布局代码
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字母索引(仿微信通讯录列表)相关推荐
- android 字母搜索栏,android仿微信通讯录搜索示例(匹配拼音,字母,索引位置)
前言: 仿微信通讯录搜索功能,通过汉字或拼音首字母找到匹配的联系人并显示匹配的位置 一:先看效果图 字母索引 搜索匹配 二:功能分析 1:汉字转拼音 通讯录汉字转拼音(首个字符当考虑姓氏多音字), 现 ...
- android 通讯录 首字母索引,android仿微信通讯录搜索(匹配拼音,字母,索引位置标记颜色)...
前言: 仿微信通讯录搜索功能,通过汉字或拼音首字母找到匹配的联系人并显示匹配的位置 一:先看效果图 字母索引 搜索匹配 二:功能分析 1:汉字转拼音 通讯录汉字转拼音(首个字符当考虑姓氏多音字), 现 ...
- Android仿微信通讯录
Android仿微信通讯录 分3部: 1.listview实现显示头像.名字(太简单,这里就不写了) 通讯录页面xml布局代码: <LinearLayout xmlns:android=&quo ...
- RecyclerView+index索引实现仿微信通讯录
感觉之前写的有点乱,所以有重新整理了一下这个博客: demo下载地址:http://download.csdn.net/detail/qq_34501274/9799175 最近跟朋友聊天,说道博客相 ...
- 【Android 仿微信通讯录 导航分组列表-上】使用ItemDecoration为RecyclerView打造带悬停头部的分组列表
*本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 转载请标明出处: http://blog.csdn.net/zxt0601/article/details/52355199 本文 ...
- android的实现关注好友功能,android仿微信好友列表功能
android studio实现微信好友列表功能,注意有一个jar包我没有放上来,请大家到MainActivity中的那个网址里面下载即可,然后把pinyin4j-2.5.0.jar复制粘贴到项目的a ...
- Android显示九宫图(自定义圆角,仿微信九宫格图)
详细解析Android显示九宫图(自定义圆角,仿微信九宫格图) 这是一个自定义九宫格图片框架,里面有设置圆角大小,还有当图片一张的时候控件自定义的大小,图片的间隔,四张图片的时候图片自定义为两行两列等 ...
- uni-app 写小程序 索引列表,仿微信通讯录
心里认定了一个女孩 就要好好的珍惜对待她,人生不容辜负,你必须要更加努力 .加油 骚年 uni-app 写小程序 索引列表,仿微信通讯录 去uni-app官网 下载插件 indexlist <m ...
- android 自定义view,字母排序(仿微信好友列表)
一:简言 一个月没有写博客了,公司项目比较忙,最近发现公司用到一个知识点,所以抽时间通过博客的形式分享给大家,该知识点,模仿微信的好友列表,通过字母索引进行定位,该功能主要通过几个知识点实现.下面会一 ...
最新文章
- yii2的model数据库配置以及应用(主从数据库配置)
- 深度学习笔记一:稀疏自编码器
- [CTSC2017]吉夫特
- 服务器做文件共享服务特点,服务器主机做共享文件
- 超全局变量数组get post requerst resver的使用规则
- Android studio之迁移定制出现Installation failed with message Failed to finalize session
- 【LCT】遥远的国度(P3979)
- 行星齿轮设计_3D打印用于制造刚度平衡的行星架
- 简析面向对象中的继承,原型链,闭包之继承
- TreeView 节点多选,对TreeView的遍历
- LINUX安装百度网盘
- 网页隐藏index.php,如何隐藏url中的index.php
- 计算机发展简史及其关键技术年表
- PDF编辑/PDF浏览/PDF打印:PDFPrinting.NET Crack
- ABAP BDC返回成功但是未创建单据或没有产生相应效果
- 计算机控制闪光灯,并联控制式自动调光闪光灯 - 最全的照相机闪光灯电路图大全(十款照相机闪光灯电路图详解)...
- 容器(Container)
- 暗影精灵6加装M.2固态硬盘详细教程
- java 星期一_用java写一个月有多少个星期一,并且显示出
- gateway---服务网关