本文实例讲述了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实现动态自动匹配输入内容功能的使用技巧和注意事项,需要的朋友参考一下 什么是动态自动匹配输入内容呢?举个例子,当我们在百度等搜索引擎的输入框中输入想要搜索的关键词,输入框下面会提示很多相关联的热门搜索项,效果图如下 那在安卓中如何实现这种效果呢?在这里给大家推荐两个Android的控件: AutoCompleteText
本文向大家介绍HTML5 DataList实现输入框自动下拉提示,包括了HTML5 DataList实现输入框自动下拉提示的使用技巧和注意事项,需要的朋友参考一下 在Web设计中,经常会用到如输入框的自动下拉提示,这将大大方便用户的输入。比如在Google中进行搜索的时候,就会出现下拉的智能提示列表选择框。这样的下拉列表框称为AutoComplete。在以前,如果要实现这样的功能,必须要求开发者使
本文向大家介绍Android自动文本框输入识别提示功能代码,包括了Android自动文本框输入识别提示功能代码的使用技巧和注意事项,需要的朋友参考一下 自动提示文本框(AutoCompleteTextView)可以加强用户体验,缩短用户的输入时间(百度的搜索框就是这个效果)。 相信大家都熟悉自动识别提示吧,在我们的生活中随处可见,今天就让我为大家简单介绍一下它是如何设计的。 所谓自动识别输入即是根
本文向大家介绍Android实现动态自动匹配输入内容,包括了Android实现动态自动匹配输入内容的使用技巧和注意事项,需要的朋友参考一下 Android实现动态自动匹配的控件主要有MultiAutoCompleteTextView和AutoCompleteTextView MultiAutoCompleteTextView: 可支持选择多个值(在多次输入的情况下),分别用分隔符分开,并且在每个值
本文向大家介绍Android实现动态自动匹配输入的内容,包括了Android实现动态自动匹配输入的内容的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Android实现动态自动匹配输入内容的具体代码,供大家参考,具体内容如下 用这两个控件 分别实现这两个: 布局文件: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
本文向大家介绍JavaScript动态提示输入框输入字数的方法,包括了JavaScript动态提示输入框输入字数的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JavaScript动态提示输入框输入字数的方法。分享给大家供大家参考。具体如下: 在QQ空间里有小纸条那么一个功能,随着你在文本框中输入多少字,上面会动态提示你“已经输入多少字”和“还可以输入多少字”,觉得挺好的,所以自己也