动态匹配输入的内容
xml文件
<!--hint为提示
completionThreshold表示的是第几个字符开始显示下拉框-->
<AutoCompleteTextView
android:id="@+id/autoCompleteTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:completionThreshold="2"
android:hint="请输入"/>
activity
/**
* 达到的效果就是在一个输入框中输入的字符,会进行自动匹配,并以下拉框形式显示满足条件的字符串
*/
public class MainActivity extends Activity {
private AutoCompleteTextView acTextView;
//存入的字符串数组,用于匹配
private String[] res={"beijing1","beijing2","beijing3","shanghai1","shanghai2"};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
acTextView=(AutoCompleteTextView)findViewById(R.id.autoCompleteTextView);
//ArrayAdapter数组匹配器,传入三个参数,文本,布局,数组;布局是选用系统的样例,数组是字符串数组,用于匹配输入的字符
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,res);
//为textview设置适配器
acTextView.setAdapter(adapter);
}
}
多个匹配,例如转发邮件时使用的,用MultiAutoCompleteTextView
只需要添加一行如下所示,以逗号分隔,
matv.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
看了一下源码,只知道是继承AutoCompleteTextView,但是不知道是如何去实现