应用AutoCompleteTextView控件,学习自慕课网。
首先先写控件。。。avtivity_main文件,加入控件然后修改。
<AutoCompleteTextView android:completionThreshold="3" android:id="@+id/autoCompleteTextView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="please input your word" > <!-- 第一项为输入第几个字符的时候进行匹配 最后一项虚字提示输入--> </AutoCompleteTextView>
接着去MainActivity中修改。
package com.autocomplete; import android.app.Activity; import android.os.Bundle; import android.view.LayoutInflater; import android.widget.ArrayAdapter; import android.widget.AutoCompleteTextView; public class MainActivity extends Activity { private AutoCompleteTextView acTextView;//创建 private String[] res = {"java1","java2","java3","java4","C++1","C++2","C++3"};//初始化数据源,匹配文本框中的内容 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); acTextView = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView1);//初始化控件 ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,res) ; //一个适配器 acTextView.setAdapter(adapter);//将adpter与当前AutoCompleteTextView绑定 } }
然后就实现了一个自娱自乐的貌似的自动匹配。。。现阶段感觉没有什么用处。。。
然后第二个,支持多选的。
MainActivity文件,对应着单匹配
package com.autocomplete; import android.app.Activity; import android.os.Bundle; import android.view.LayoutInflater; import android.widget.ArrayAdapter; import android.widget.AutoCompleteTextView; import android.widget.MultiAutoCompleteTextView; public class MainActivity extends Activity { private AutoCompleteTextView acTextView;//1.创建 private String[] res = {"java1","java2","java3","java4","C++1","C++2","C++3"};//1.初始化数据源,匹配文本框中的内容 private MultiAutoCompleteTextView acTextView2;//2.创建 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); acTextView = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView1);//1.初始化控件 ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,res) ; //1.一个适配器 acTextView.setAdapter(adapter);//1.将adpter与当前AutoCompleteTextView绑定 acTextView2 = (MultiAutoCompleteTextView) findViewById(R.id.multiAutoCompleteTextView1);//2.初始化控件 acTextView2.setAdapter(adapter);//2.利用1中初始化的适配器,也就是利用1的初始化数据源 acTextView2.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());//设置逗号分隔符 } }
然后改一下布局,activity_main
<MultiAutoCompleteTextView android:id="@+id/multiAutoCompleteTextView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:hint="please input your words" > </MultiAutoCompleteTextView>
正常的加入一个控件,直接扔到中间,就不改布局从上到下对齐了。
然后听说这个控件只支持“,”的分隔,想用其他的要自定义,等以后会了再回来写。
时间: 2024-10-26 07:21:59