本文实例讲述了Android编程实现输入框动态自动提示功能。分享给大家供大家参考,具体如下:

关于AutoCompleteTextView的使用,我想大家并不陌生,对其设定上Adapter后系统便能自己识别与匹配了。近期 一个项目中,需要做到匹配通迅录中的电话号码和联系人,由于通迅录中数据量大,所以把所有的数据在自己提示之前就查询出来并加入到 AutoCompleteTextView中是不现实的,所以我们可以使用cursor来动态加载AutoCompleteTextView的数据,从而 实现时时搜索提示,要实现动态加载,只用重写一个类继承于CursorAdapter,然后设定在AutoCompleteTextView上就行了。
AutoCompleteTextView editNumber = (AutoCompleteTextView)findViewById(R.id.edit_number); Cursor cursor = getContentResolver()(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null); ContactListAdapter listAdapter = new ContactListAdapter(this, cursor); editNumber.setAdapter(listAdapter);
ContactListAdapter.java中的核心代码如下:
重写newView方法
public View newView(Context context, Cursor cursor, ViewGroup parent) {
final LayoutInflater inflater = LayoutInflater.from(context);
final View view = (View)inflater.inflate( R.layout.auto_complete, parent, false);
TextView txtName = (TextView)view.findViewById(R.id.txt_name);
txtName.setText(cursor.getString(0));
TextView txtNumber = (TextView)view.findViewById(R.id.txt_number);
txtNumber.setText(cursor.getString(1));
TextView txtType = (TextView)view.findViewById(R.id.txt_type);
String[] arrType = SmsConstant.ARR_CONTACTS_TYPE;
if(cursor.getint(2) > 3)
{
txtType.setText(arrType[0]);
} else
{
txtType.setText(arrType[cursor.getint(2)]);
}
return view;
}
重写bindView方法,
public void bindView(View view, Context context, Cursor cursor) {
TextView txtName = (TextView)view.findViewById(R.id.txt_name);
txtName.setText(cursor.getString(0));
TextView txtNumber = (TextView)view.findViewById(R.id.txt_number);
txtNumber.setText(cursor.getString(1));
TextView txtType = (TextView)view.findViewById(R.id.txt_type);
String[] arrType = SmsConstant.ARR_CONTACTS_TYPE;
if(cursor.getint(2) > 3)
{
txtType.setText(arrType[0]);
} else {
txtType.setText(arrType[cursor.getint(2)]);
}
}
点击弹出的Listview列表后的返回值:
public String convertToString(Cursor cursor) {}
执行搜索的sql语句,返回一个Cursor加载到弹出的Listview上
public Cursor runQueryOnBackgroundThread(CharSequence constraint) {}
在此所返回的Cursor结果,会全部显示在弹出提示上,无需再次过虑。
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android视图View技巧总结》、《Android布局layout技巧总结》、《Android图形与图像处理技巧总结》、《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android多媒体操作技巧汇总(音频,视频,录音等)》、《Android基本组件用法总结》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。
# Android
# 输入框
# 动态
# 自动提示
# Android开发之WebView输入框提示解决办法
# Android自定义输入框提示功能
# 重写
# 弹出
# 加载
# 进阶
# 我想
# 通迅
# 相关内容
# 在此
# 感兴趣
# 我们可以
# 对其
# 给大家
# 量大
# 更多关于
# 解决方法
# 前就
# 便能
# 所述
# 图像处理
# 程序设计
相关文章:
香港网站服务器数量如何影响SEO优化效果?
如何用PHP快速搭建高效网站?分步指南
,石家庄四十八中学官网?
广州商城建站系统开发成本与周期如何控制?
实现点击下箭头变上箭头来回切换的两种方法【推荐】
建站之星与建站宝盒如何选择最佳方案?
如何选择PHP开源工具快速搭建网站?
为什么Go需要go mod文件_Go go mod文件作用说明
北京制作网站的公司,北京铁路集团官方网站?
免费网站制作appp,免费制作app哪个平台好?
,制作一个手机app网站要多少钱?
如何在企业微信快速生成手机电脑官网?
如何在IIS中新建站点并配置端口与物理路径?
如何规划企业建站流程的关键步骤?
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
如何在宝塔面板中修改默认建站目录?
如何通过VPS建站无需域名直接访问?
seo网站制作优化,网站SEO优化步骤有哪些?
如何配置WinSCP新建站点的密钥验证步骤?
上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?
文字头像制作网站推荐软件,醒图能自动配文字吗?
安云自助建站系统如何快速提升SEO排名?
免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?
西安专业网站制作公司有哪些,陕西省建行官方网站?
如何在阿里云服务器自主搭建网站?
单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?
深圳网站制作的公司有哪些,dido官方网站?
如何用搬瓦工VPS快速搭建个人网站?
佛山企业网站制作公司有哪些,沟通100网上服务官网?
如何在IIS中配置站点IP、端口及主机头?
网站制作服务平台,有什么网站可以发布本地服务信息?
重庆网站制作公司哪家好,重庆中考招生办官方网站?
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
建站之星如何快速更换网站模板?
如何在腾讯云免费申请建站?
官网网站制作腾讯审核要多久,联想路由器newifi官网
如何快速搭建支持数据库操作的智能建站平台?
中山网站推广排名,中山信息港登录入口?
已有域名和空间如何快速搭建网站?
公司网站制作价格怎么算,公司办个官网需要多少钱?
如何正确选择百度移动适配建站域名?
如何登录建站主机?访问步骤全解析
怀化网站制作公司,怀化新生儿上户网上办理流程?
宁波免费建站如何选择可靠模板与平台?
小程序网站制作需要准备什么资料,如何制作小程序?
如何在香港服务器上快速搭建免备案网站?
武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?
制作电商网页,电商供应链怎么做?
c# 服务器GC和工作站GC的区别和设置
*请认真填写需求信息,我们会在24小时内与您取得联系。