两种自动补全文本框介绍

来源:互联网 发布:mysql select 两个表 编辑:程序博客网 时间:2024/04/28 12:09

1.AutoCompleteTextView是EditText的子类,同样是编辑框,不过是多了自动提示的功能:

图片1

示例代码:

1. xml文件

<AutoCompleteTextView         android:id="@+id/actv"        android:completionThreshold="1"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:hint="请输入搜索内容"/>

2. Java代码初始化

        private AutoCompleteTextView acTextView = null;        private String [] res ={"beijin1","shijiad","shins","shag","shanede","shadrfe","shaieuj","shaere","shieke",        "adn","as","ader","sh","sher","shadfd","saf","dfji"};                       

3. 具体操作

        /*        * 使用AutoCompleteTextView实现自动提示:        * 1.初始化空间,记住findViewById(R.id.**)方法        * 2.需要一个适配器adapter        * 3.初始化数据源-->此数据源去匹配文本框内容        * 4.将Adapter与AutoCompleteTextView绑定,调用setAdapter()方法        * 5.设置输入几个字符后才进行自动提示        *         */        this.acTextView = (AutoCompleteTextView) findViewById(R.id.actv);        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,res);          this.acTextView.setAdapter(adapter);        

2、MultiAutoCompleteTextView是AutoCompleteTextView的子类,不同点:允许设置多个提示项(类似发短信给多个人时,会自动提示姓名,选中后自动补充分隔符,继续输入,可以继续提示)

图片2

示例代码:

1. xml文件

<MultiAutoCompleteTextView        android:id="@+id/mctv"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:layout_below="@+id/actv"            android:completionThreshold="2"      -->设置输入几个字符后开始自动提示        android:hint="请输入联系人名称"/>      -->设置文字提示(completion)

2. 初始化

        private MultiAutoCompleteTextView matv ;            private String [] res ={"beijin1","shijiad","shins","shag","shanede","shadrfe","shaieuj",        "shaere","shieke","adn","as","ader","sh","sher","shadfd","saf","dfji"};

3. 具体操作

        /*        * 使用MultiAutoCompleteTextView实现自动提示:        *         * 1.初始化控件,记住findViewById(R.id.**)方法        * 2.需要一个适配器        * 3.初始化数据源-->此数据源去匹配文本框内容        * 4.将Adapter与MultiAutoCompleteTextView绑定,调用setAdapter()方法        * 5.设置输入几个字符后才进行自动提示        * 6.设置分隔符        *         */        this.matv = (MultiAutoCompleteTextView) findViewById(R.id.mctv);        matv.setAdapter(adapter);        //设置逗号为分隔符,即结束符号(分号)        matv.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
0 0
原创粉丝点击