一、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 与当前的MultiAutoCompleteTextView绑定
* 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());//以逗号为分隔符 } }
版权声明:本文为博主原创文章,未经博主允许不得转载。