Android入门(4)——AutoComplete TextView实现动态自动匹配输入的内容

来源:互联网 发布:led显示屏模拟软件 编辑:程序博客网 时间:2024/05/21 22:39

1. AutoCompleteTextView动态匹配输入内容

独特属性:设置输入多少字符时自动匹配:

android:completionThreshold="2"

第一步:添加AutoCompleteTextView控件:

<AutoCompleteTextView        android:completionThreshold="3"        android:id="@+id/autoCompleteTextView1"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:hint="请输入你要搜索的关键词" >    </AutoCompleteTextView>


第二步:去MainActivity.java文件中进行匹配数据源的设置:

步骤一:初始化控件。

步骤二:需要一个适配器ArrayAdapter,来适配当前输入的一些内容。这里的android.R.layout.simple_list_item_1是系统自带的一种简单的布局页面。

步骤三:初始化数据源,去匹配文本框中输入的内容。

步骤四:将adapter与当前AutoCompleteTextView控件绑定。

package com.example.eight;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.widget.ArrayAdapter;import android.widget.AutoCompleteTextView;public class MainActivity extends Activity {    private AutoCompleteTextView acTextView;    private String[] res = {"beijing1","beijing2","beijing3","shanghai1","shanghai2"};    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);            acTextView = (AutoCompleteTextView)findViewById(R.id.autoCompleteTextView1);        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, res);        acTextView.setAdapter(adapter);    }}

效果图:



2. MultiAutoCompleteTextView

可支持选择多个值(在多次输入的情况下),分别用分隔符分开,并且在每个值选中的时候再次输入值时会自动去匹配,可用在发短信、发邮件时选择联系人这种类型中。

独特属性:设置输入多少字符时自动匹配:

android:completionThreshold="2"
设置分隔符:

macTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());

第一步:添加MultiAutoCompleteTextView控件

<MultiAutoCompleteTextView        android:id="@+id/multiAutoCompleteTextView1"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_alignLeft="@+id/autoCompleteTextView1"        android:layout_below="@+id/autoCompleteTextView1"        android:layout_marginTop="18dp"        android:hind="请输入你要搜索的收件人" ></MultiAutoCompleteTextView>
第二步:去MainActivity.java文件中进行设置:

步骤一:初始化控件。

步骤二:需要一个适配器ArrayAdapter,来适配当前输入的一些内容。这里android.R.layout.simple_list_item_1就相当于activity_main.xml布局页面。

步骤三:初始化数据源,去匹配文本框中输入的内容。

步骤四:将adapter与当前MultiAutoCompleteTextView控件绑定。

步骤五:设置分隔符,这里以逗号为例。

package com.example.eight;import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.widget.ArrayAdapter;import android.widget.AutoCompleteTextView;import android.widget.MultiAutoCompleteTextView;public class MainActivity extends Activity {private String[] res = {"beijing1","beijing2","beijing3","shanghai1","shanghai2"};private MultiAutoCompleteTextView macTextView;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        <pre name="code" class="java">ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, res);
macTextView = (MultiAutoCompleteTextView)findViewById(R.id.multiAutoCompleteTextView1); macTextView.setAdapter(adapter); macTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer()); }}
效果图:



0 0