您的位置:首页 > 移动开发 > Android开发

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

2015-07-03 13:30 786 查看

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()); }}

效果图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: