Android自学笔记之 MultiAutoTextView的功能、特殊属性、用法(与AutoTextView的区别和近似)

时间:2022-11-02 16:45:32
一、MultiAutoCompleteTextView  介绍
1.功能:可支持选择多个值(在多次输入的情况下),分别用分隔符分开,,并且在每个值的选中的时候再次输入时会自动去匹配,可用在发短信、发邮件时选择联系人这种类型当中。
2.属性:android:completionThreshold= “2”

3.设置分隔符:mtxt.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());


二、AutoCompleteTextView  介绍:

  1.功能:只是单一动态匹配

  2。属性android:completionThreshold="n" -- 输入n个字符开始匹配(跟MultiAutoCompleteTextView一样)

三、实现步骤:

1.AutoCompleteTextView:

第一步:初始化控件
第二步:需要一个适配器,作用是适配当前文本框输入的内容。
利用简单的适配器ArrayAdapter
第三步:初始化数据源===去匹配文本框中输入的内容。
eg:private string[]={ , , };
利用泛型
ArrayAdapter<String> adapter = new ArrayAdapter<String>( , , );
第四步:将Adapter与当前AutoCompleteTextView匹配。
acTextView.steAdapter(adapter);

2.MultiAutoCompleteTextView

/**
* 1 初始化控件
* 2 需要一个适配器
* 3 初始化数据源
* 4 与当前的Multi
AutoCompleteTextView绑定

* 5 设置分隔符
* macTestView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());//以逗号分隔
*/



四、在代码中实现

 1.在activity_main.xml中加入AutoCompleteTextView及MultiAutoCompleteTextView

<span style="font-family:KaiTi_GB2312;font-size:18px;"> <AutoCompleteTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:completionThreshold="3"
android:hint="请输入你要搜素的关键字"
android:id="@+id/autoCompleteTextView"
android:layout_below="@+id/textView"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
/>

<MultiAutoCompleteTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint="请输入你要搜索的关键字"
android:id="@+id/multiAutoCompleteTextView"
android:layout_below="@+id/autoCompleteTextView"
android:completionThreshold="2"
/></span>

2.在ManiActivity.class中具体实现:

package com.example.administrator.paoma;

import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.MultiAutoCompleteTextView;


public class MainActivity extends ActionBarActivity {
String[] guan = new String[]{"beijing1","beijing2","bejing",
"shanghai1","shanghai2","shnghai3"};//创建一个适配器,供后面调用
private AutoCompleteTextView atCo;
private MultiAutoCompleteTextView macTextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

/*
*
*/
atCo = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView);//初始化AutoCompleteTextView
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,guan);//初始化适配器
atCo.setAdapter(adapter); //与当前的AutoCompleteTextView绑定


macTextView = (MultiAutoCompleteTextView)
findViewById(R.id.multiAutoCompleteTextView);//初始化MultiAutoCompleteTextView
macTextView.setAdapter(adapter);//与当前的MultiAutoCompleteTextView绑定
macTextView.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());//以逗号为分隔符

}



}