MultiAutoCompleteTextView和AutoCompleteTextView两个自动完成功能控件的使用
AutoCompleteTextView是实现动态匹配输入的内容。
如google搜索引擎当输入文本时可以根据内容显示匹配的热门信息。
还有我们在发短信选择收件人的时候,我们往往不止选择一个收件人。我们一般是输入134,然后根据提示,选择带134的联系人;然后是逗号隔开;再输入159,再选择带159的联系人。抑或在发邮件的时候,也有类似的功能需求。
/AdapterViewUI/res/layout/autocompletetextview_ui.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<!-- 定义一个自动完成文本框 指定输入一个字符后开始提示 -->
<!-- android:completionHint 设置下拉动菜单中的提示标题 -->
<!-- android:popupBackground 设置下拉菜单的背景 (Key) -->
<!-- android:completionThreshold 设置用户至少输入几个字符才会显示提示 -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="自动完成输入框"
android:textSize="20dp"
/>
<AutoCompleteTextView
android:id="@+id/auto"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:completionHint="请选择你喜欢的图书"
android:dropDownHorizontalOffset="10dp"
android:completionThreshold="1"
android:textColor="#f00"
android:popupBackground="#0f0"
/>
<!-- MultiAutoCompleteTextView组件-->
<MultiAutoCompleteTextView
android:id="@+id/mauto"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:completionThreshold="1"
android:popupBackground="#ff0"
/>
</LinearLayout>
/AdapterViewUI/src/com/example/adapterviewui/MainActivity.java
package com.example.adapterviewui;
import android.os.Bundle;
import android.app.Activity;
import android.text.util.Rfc822Tokenizer;
import android.view.Menu;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.MultiAutoCompleteTextView;
import android.widget.SimpleAdapter;
import android.view.*;
public class MainActivity extends Activity {
//autocompletetextview
AutoCompleteTextView actv;
MultiAutoCompleteTextView mauto;
String []books = new String[]{"C","C++","Java","JavaScript"};
//
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.autocompletetextview_ui);
//autocompleteview example
actv = (AutoCompleteTextView)findViewById(R.id.auto);
mauto = (MultiAutoCompleteTextView)findViewById(R.id.mauto);
//创建一个ArrayAdapter 封装数组
ArrayAdapter<String> aa = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line,books);
//设置Adapter
actv.setAdapter(aa);
mauto.setAdapter(aa);
//设置分隔符
// mauto.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
mauto.setTokenizer(new Rfc822Tokenizer());
//Rfc822Tokenizer()
}
}
1.AutoCompleteTextView
2..MultiAutoCompleteTextView