效果图
AutoComepleteTextView 控件的主要的作用是在用户输入中,提示输入。但是只能提示一次。这里就出项了MultiautoCompleteTextView控件,其主要的功能是也是在用户输入中提示输入。
AutoComepleteTextView与MultiautoCompleteTextView区别
AutoCompleteTextView:
支持基本的自动完成功能,适用在各种搜索功能中,并且可以根据自己的需求设置他的默认显示数据。
MultiAutoCompleteTextView:
该控件可支持选择多个值(在多次输入的情况下),分别用分隔符分开,并且在每个值选中的时候再次输入值时会自动去匹配。可用在发短信,发邮件时选择联系人这种类型当中。使用时需要执行设置分隔符方法。
activity_main:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/beijingtub"
android:orientation="vertical"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="AutoCompleteTextView"
/>
<AutoCompleteTextView
android:id="@+id/auto"
android:layout_width="match_parent"
android:layout_height="50dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="MultiAutoCompleteTextView"
/>
<MultiAutoCompleteTextView
android:id="@+id/mul"
android:layout_width="match_parent"
android:layout_height="50dp"/>
</LinearLayout>
MainActivity.java:
这里需要对控件添加适配器。可以参考其他博主文章https://blog.csdn.net/github_37855556/article/details/65434509?fps=1&locationNum=6
package com.example.a13468.mydemo11_autocompletetextview;
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 AutoCompleteTextView auto;
private MultiAutoCompleteTextView mul;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
auto = (AutoCompleteTextView) findViewById(R.id.auto);
mul = (MultiAutoCompleteTextView) findViewById(R.id.mul);
String [] autoString =new String[]{
"China四川","China成都","China泸州","liquor剑南春","liquor泸州老窖1573","liquor茅台"
};
/**
* 第二个参数表示适配器的下拉风格
*/
ArrayAdapter<String> adapter=new ArrayAdapter<String>(MainActivity.this,
android.R.layout.simple_spinner_dropdown_item,autoString);
/**
* 添加适配器
*/
auto.setAdapter(adapter);
/**
* MultiAutoCompleteTextView添加适配器
*/
mul.setAdapter(adapter);
//完成选项的拆分,分隔符为逗号
mul.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
}
}