Android控件之AutoCompleteTextView
2016-11-24 17:57
363 查看
AutoCompleteTextView是一个自动补全的文本框,下面跟着一个包含过滤信息的列表项,单击该列表项时,文本框显示选中项。继承自EditText.内部包含一个AdapterView对象,可以通过该控件的setAdapter方法为AdapterView提供过滤数据。setAdapter方法中接受的数据必须实现Filterable接口。
主要方法:
setThreshold(int num)-num为输入几个字符后开始提示
setCompletionHint(CharSequence hint)-hint为列表项下边的提示文本
我们用一个程序来说明下该控件的用法:
下图是运行结果
activity_main.xml
MainActivity .java
上面的控件只能完成一次提示,而我们可能常常需要多次以分隔符分隔的提示信息。如下图:
这时我们需要使用AutoCompleteTextView 的一个子类MultiAutoCompleteTextView,与其父类最重要的区别在于MultiAutoCompleteTextView控件允许用户进行多次输入补全。该控件使用时必须设置分词符。该类内部包含了一个默认的逗号分词符。
主要方法:
setTokenizer(Tokenizer t)-该方法用来设置分词符,Tokenizer 是一个接口,我们要自定义分词符的话,必须实现这个接口。MultiAutoCompleteTextView包含了一个Tokenizer 接口的实现类CommaTokenizer,是使用逗号作为分词符的。
activity_main.xml
MainActivity.java
主要方法:
setThreshold(int num)-num为输入几个字符后开始提示
setCompletionHint(CharSequence hint)-hint为列表项下边的提示文本
我们用一个程序来说明下该控件的用法:
下图是运行结果
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <AutoCompleteTextView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/actv"/> </LinearLayout>
MainActivity .java
public class MainActivity extends AppCompatActivity { private AutoCompleteTextView actv; private ArrayAdapter<String> adapter; private void setupView(){ //实例化该控件 actv= (AutoCompleteTextView) findViewById(R.id.actv); //此处为了演示该控件的用法,实际开发该词库应该是从数据库中取的。 String[] str={"google chrome","go","google","google android","b","back"}; actv.setThreshold(1);//输入一个字符就开始匹配 actv.setCompletionHint("历史信息..."); //实例化适配器 adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,str); //为该控件设置适配器 actv.setAdapter(adapter); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); setupView(); } }
上面的控件只能完成一次提示,而我们可能常常需要多次以分隔符分隔的提示信息。如下图:
这时我们需要使用AutoCompleteTextView 的一个子类MultiAutoCompleteTextView,与其父类最重要的区别在于MultiAutoCompleteTextView控件允许用户进行多次输入补全。该控件使用时必须设置分词符。该类内部包含了一个默认的逗号分词符。
主要方法:
setTokenizer(Tokenizer t)-该方法用来设置分词符,Tokenizer 是一个接口,我们要自定义分词符的话,必须实现这个接口。MultiAutoCompleteTextView包含了一个Tokenizer 接口的实现类CommaTokenizer,是使用逗号作为分词符的。
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <MultiAutoCompleteTextView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/mactv"/> </LinearLayout>
MainActivity.java
public class MainActivity extends AppCompatActivity { private MultiAutoCompleteTextView tv; private ArrayAdapter<String> adapter; private void setupView(){ tv= (MultiAutoCompleteTextView) findViewById(R.id.mactv); String[] str={"google chrome","go","google","google android","b","back"}; tv.setThreshold(1);//输入一个字符就开始匹配 tv.setCompletionHint("历史信息..."); //使用默认分词符 tv.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer()); adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,str); tv.setAdapter(adapter); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); setupView(); } }
相关文章推荐
- Android开发教程 --- 葵花宝典第五层 控件之 Menu DatePicker TimePicker AutoCompleteTextView MultiAutoCompleteTextView
- Android UI控件系列:AutoCompleteTextView(自动提示)
- Android控件之AutoCompleteTextView、MultiAutoCompleteTextView探究
- Android控件——AutoCompleteTextView和MultiAutoCompleteTextView
- android AutoCompleteTextView控件的使用
- Android 控件之八:AutoCompleteTextView自动完成文本框
- Android控件之AutoCompleteTextView
- Android学习_01——AutoCompleteTextView控件和MultiAutoCompleteTextView控件的应用
- Android控件之AutoCompleteTextView、MultiAutoCompleteTextView探究
- 一步一步学android控件(之六) —— MultiAutoCompleteTextView
- Android控件之AutoCompleteTextView、MultiAutoCompleteTextView探究
- Android 基础控件之AutoCompleteTextView
- android控件13 AutoCompleteTextView
- Android:UI控件AutoCompleteTextView、MultiAutoCompleteTextView、include、merge、Tokenizer
- Android自动提示控件AutoCompleteTextView
- Android AutoCompleteTextView控件实现类似百度搜索提示,限制输入数字长度
- 一步一步学android控件(之六) —— MultiAutoCompleteTextView
- android中与Adapter相关的控件----Spinner&AutoCompleteTextView
- Android学习系列之控件 AutoCompleteTextView邮箱后缀自动补全
- Android控件之AutoCompleteTextView