您的位置:首页 > 其它

MultiAutoCompleteTextView setTokenizer()

2017-04-01 16:06 453 查看
//设置输入多少个字符才给出提示列表,这里是当用户输入两个字符的时候,给出建议列表。
//一般设置两个
AutoCompleteTextView.setThreshold(2);
或者
MultiAutoCompleteTextView.setThreshold(2);
MultiAutoCompleteTextView.setTokenizer();//设置分隔符
package com.example.anttest;import android.text.SpannableString;import android.text.Spanned;import android.text.TextUtils;import android.widget.MultiAutoCompleteTextView.Tokenizer;public class SemicolonTokenizer implements Tokenizer {private char charS;private String mSTring;public SemicolonTokenizer(char charS) {this.charS = charS;mSTring = String.valueOf(charS);}public int findTokenStart(CharSequence text, int cursor) {int i = cursor;while (i > 0 && text.charAt(i - 1) != charS) {i--;}while (i < cursor && text.charAt(i) == ' ') {i++;}return i;}public int findTokenEnd(CharSequence text, int cursor) {int i = cursor;int len = text.length();while (i < len) {if (text.charAt(i) == charS) {return i;} else {i++;}}return len;}public CharSequence terminateToken(CharSequence text) {int i = text.length();while (i > 0 && text.charAt(i - 1) == ' ') {i--;}if (i > 0 && text.charAt(i - 1) == charS) {return text;} else {if (text instanceof Spanned) {SpannableString sp = new SpannableString(text + mSTring);TextUtils.copySpansFrom((Spanned) text, 0, text.length(), Object.class, sp, 0);return sp;} else {return text + mSTring;}}}}
java 代码
package com.example.anttest;import android.app.Activity;import android.os.Bundle;import android.widget.ArrayAdapter;import android.widget.AutoCompleteTextView;import android.widget.MultiAutoCompleteTextView;public class MainActivity extends Activity {// 福建九地市private static final String[] cities = new String[] { "FuZhou", "XiaMen", "NiDe", "PuTian", "QuanZhou","ZhangZhou", "LongYan", "SanMing", "NanPing" };private AutoCompleteTextView autoCompleteTextView = null;private MultiAutoCompleteTextView multiAutoCompleteTextView = null;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);autoCompleteTextView = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView);multiAutoCompleteTextView = (MultiAutoCompleteTextView) findViewById(R.id.multiAutoCompleteTextView);ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line,cities);autoCompleteTextView.setAdapter(adapter);autoCompleteTextView.setThreshold(2);multiAutoCompleteTextView.setAdapter(adapter);multiAutoCompleteTextView.setThreshold(2);multiAutoCompleteTextView.setTokenizer(new SemicolonTokenizer('。'));}}
xml代码
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"><AutoCompleteTextView android:id="@+id/autoCompleteTextView"android:layout_width="fill_parent"android:layout_height="wrap_content"/><MultiAutoCompleteTextView android:id="@+id/multiAutoCompleteTextView"android:layout_width="fill_parent"android:layout_height="wrap_content"/></LinearLayout>
效果图:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: