Android 自动补全提示输入AutoCompleteTextView、 MultiAutoCompleteTextView

以在搜索框搜索时,自动补全为例:

其中还涉及到一个词,Tokenizer:分词器,分解器。

上效果图:

Android 自动补全提示输入AutoCompleteTextView、 MultiAutoCompleteTextView_第1张图片Android 自动补全提示输入AutoCompleteTextView、 MultiAutoCompleteTextView_第2张图片

MainActivity.java:

package com.joan.testautocomletetextview;
import android.R.array;
import android.os.Bundle;
import android.app.Activity;
import android.content.res.Resources;
import android.view.Menu;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.MultiAutoCompleteTextView;
import android.widget.MultiAutoCompleteTextView.Tokenizer;
public class MainActivity extends Activity {
 AutoCompleteTextView actv;
 MultiAutoCompleteTextView mactv;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  actv = (AutoCompleteTextView) findViewById(R.id.actv);
  mactv = (MultiAutoCompleteTextView) findViewById(R.id.mactv);
  // 取到Strings.xml中定义的数组
  String[] names = this.getResources().getStringArray(R.array.names);
  // 适配器
  // 第三个参数是数据源
  // 第二个参数是样式资源的id
  ArrayAdapter adapter = new ArrayAdapter(this,
  android.R.layout.simple_expandable_list_item_1, names);
  // =============只能选择单个的自动补全=====================
  actv.setAdapter(adapter);
  // =============可选择多个的自动补全=====================
  // Tokenizer分词器,分解器
  // MultiAutoCompleteTextView.CommaTokenizer();这个简易的分解器可用于对由逗号和若干空格分割的列表进行分解.
  Tokenizer t = new MultiAutoCompleteTextView.CommaTokenizer();
  mactv.setAdapter(adapter);
  mactv.setTokenizer(t);
 }
}

strings.xml:



 TestAutocompleteTextView
 Settings
 Hello world!
 
 
  zhangyu
  zhangxinzhe
  zhangxingxing
  liudehua
  liuyi
 

activity_main.xml:


 
 
 
 
 
 

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

你可能感兴趣的:(Android 自动补全提示输入AutoCompleteTextView、 MultiAutoCompleteTextView)