iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android AutoCompleteTextView控件使用实例
  • 168
分享到

Android AutoCompleteTextView控件使用实例

Android 2022-06-06 10:06:08 168人浏览 安东尼
摘要

使用要点如下: 1.利用ListAdapter(一般使用ArrayAdapter)为AutoCompleteTextView提供数据,若有需要还可以重载getView()以自定

使用要点如下:

1.利用ListAdapter(一般使用ArrayAdapter)为AutoCompleteTextView提供数据,若有需要还可以重载getView()以自定义列表项的显示方式。这一步同ListView。
2.如果需要根据输入内容进行动态提示,那么adapter需要实现Filterable接口,重载getFilter()函数实现提示算法。getFilter()需返回Filter对象,该对象包含至少两个方法:perfORMFiltering()在后台执行过滤,publishResults()在UI线程执行,负责将过滤结果显示到列表中。还有第三个方法convertResultToString()可以控制用户点击提示时要填充至输入框的文本内容。
示例代码如下:
代码如下:
AutoCompleteTextView autoComplete = new AutoCompleteTextView(context);
autoComplete.setThreshold(2);      // 设置最少几个字符触发自动完成
MyAdapter adapter = new MyAdapter(context);
autoComplete.setAdapter(adapter);


class MyAdapter extends ArrayAdapter<MyObject> implements Filterable{

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        // define your list item view here 在此处定义列表项的视图
    }

   
    @Override
    public Filter getFilter() {
        Filter filter = new Filter() {

           
            @Override
            protected FilterResults performFiltering(CharSequence constraint) {
                String keyWord = String.valueOf(constraint).toLowerCase();
                // 此处实现过滤

                // 过滤后利用FilterResults将过滤结果返回
                FilterResults filterResults = new FilterResults();
                filterResults.values = results;   // results是上面的过滤结果
                filterResults.count = results.size();  // 结果数量

                return filterResults;
            }

           
            @Override
            protected void publishResults(CharSequence constraint, FilterResults results) {
                if (results != null && results.count > 0) {
                    // 有过滤结果,显示自动完成列表
                    MyAdapter.this.clear();   // 清空旧列表
                    MyAdapter.this.addAll((List<MyObject>)results.values);
                    notifiDataSetChanged();
                } else {
                    // 无过滤结果,关闭列表
                    notifyDataSetInvalidated();
                }
            }

           
            @Override
            public CharSequence convertResultToString(Object resultValue) {
                MyObject obj = (MyObject) resultValue;
                return obj.name;
            }

        };
    }
}

您可能感兴趣的文章:Android高级组件AutoCompleteTextView自动完成文本框使用详解Android中EditText和AutoCompleteTextView设置文字选中颜色方法基于Android中的 AutoCompleteTextView实现自动填充实例讲解Android中的AutoCompleteTextView自动补全组件Android AutoCompleteTextView连接数据库自动提示的方法(附demo源码下载)Android仿百度谷歌搜索自动提示框AutoCompleteTextView简单应用示例Android自动编辑文本框(AutoCompleteTextView)使用方法详解Android中AutoCompleteTextView自动提示android中AutoCompleteTextView的简单用法(实现搜索历史)Android AutoCompleteTextView控件基本用法示例Android开发高级组件之自动完成文本框(AutoCompleteTextView)用法示例【附源码下载】


--结束END--

本文标题: Android AutoCompleteTextView控件使用实例

本文链接: https://www.lsjlt.com/news/27107.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作