[Android] AutoCompleteTextView:自己主动完毕输入内容的控件(自己主动补全)
2017-07-21 16:24
591 查看
AutoCompleteTextView是EditText的直接子类,与普通EditText的最大不同就是。在用户输入的过程中,能够列出可供选择的输入项。方便使用者。
AutoCompleteTextView与普通EditText控件用法类似,仅仅是须要为其指定一个Adapter对象,绑定可供选择的输入项。
AutoCompleteTextView可实现一次自己主动完毕的功能。而还有一个控件MultiAutoCompleteTextView,能够连续多次自己主动完毕,即在通过自己主动完毕一个输入项,接着输入一个分隔符后,继续通过自己主动完毕连续输入多个输入项。
仅仅是要使用MultiAutoCompleteTextView类的setTokenizer方法指定切割符。
两种自己主动完毕输入内容的控件实比例如以下。
Main.java
[java] view
plaincopy
<span style="font-size:18px;">package mobile.android.ch05.autotext;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.MultiAutoCompleteTextView;
public class Main extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
String[] autoString = new String[]
{ "联合国", "联合国安理会", "联合国五个常任理事国", "bb", "bcd", "bcdf", "Google",
"Google Map", "Google Android" };
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_dropdown_item_1line, autoString);
// AutoCompleteTextView
AutoCompleteTextView autoCompleteTextView =
(AutoCompleteTextView)findViewById(R.id.autoCompleteTextView);
autoCompleteTextView.setAdapter(adapter); // 绑定adapter
// MultiAutoCompleteTextView
MultiAutoCompleteTextView multiAutoCompleteTextView =
(MultiAutoCompleteTextView) findViewById(R.id.multiAutoCompleteTextView);
multiAutoCompleteTextView.setAdapter(adapter);
multiAutoCompleteTextView
.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
}
}</span>
main.xml
[html] view
plaincopy
<span style="font-size:18px;"><?xml version="1.0" encoding="utf-8"?
>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="AutoCompleteTextView" />
<AutoCompleteTextView
android:id="@+id/autoCompleteTextView"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="MultiAutoCompleteTextView" />
<MultiAutoCompleteTextView
android:id="@+id/multiAutoCompleteTextView"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout></span>
程序执行效果例如以下图
AutoCompleteTextView与普通EditText控件用法类似,仅仅是须要为其指定一个Adapter对象,绑定可供选择的输入项。
AutoCompleteTextView可实现一次自己主动完毕的功能。而还有一个控件MultiAutoCompleteTextView,能够连续多次自己主动完毕,即在通过自己主动完毕一个输入项,接着输入一个分隔符后,继续通过自己主动完毕连续输入多个输入项。
仅仅是要使用MultiAutoCompleteTextView类的setTokenizer方法指定切割符。
两种自己主动完毕输入内容的控件实比例如以下。
Main.java
[java] view
plaincopy
<span style="font-size:18px;">package mobile.android.ch05.autotext;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.MultiAutoCompleteTextView;
public class Main extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
String[] autoString = new String[]
{ "联合国", "联合国安理会", "联合国五个常任理事国", "bb", "bcd", "bcdf", "Google",
"Google Map", "Google Android" };
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_dropdown_item_1line, autoString);
// AutoCompleteTextView
AutoCompleteTextView autoCompleteTextView =
(AutoCompleteTextView)findViewById(R.id.autoCompleteTextView);
autoCompleteTextView.setAdapter(adapter); // 绑定adapter
// MultiAutoCompleteTextView
MultiAutoCompleteTextView multiAutoCompleteTextView =
(MultiAutoCompleteTextView) findViewById(R.id.multiAutoCompleteTextView);
multiAutoCompleteTextView.setAdapter(adapter);
multiAutoCompleteTextView
.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
}
}</span>
main.xml
[html] view
plaincopy
<span style="font-size:18px;"><?xml version="1.0" encoding="utf-8"?
>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="AutoCompleteTextView" />
<AutoCompleteTextView
android:id="@+id/autoCompleteTextView"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="MultiAutoCompleteTextView" />
<MultiAutoCompleteTextView
android:id="@+id/multiAutoCompleteTextView"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout></span>
程序执行效果例如以下图
相关文章推荐
- [Android] AutoCompleteTextView:自动完成输入内容的控件(自动补全)
- [Android] AutoCompleteTextView:自动完成输入内容的控件
- Android 自动补全提示输入AutoCompleteTextView、 MultiAutoCompleteTextView
- Android 自动补全提示输入AutoCompleteTextView、 MultiAutoCompleteTextView
- Android 组件系列(1):自动完成输入内容的组件(AutoCompleteTextView )
- android控件——AutoCompleteTextView(实现自动补全)
- Android控件使用—AutoCompleteTextView自动补全实现搜索功能
- 安卓控件——AutoCompleteTextView和MultiAutoCompleteTextView实现自动匹配输入的内容
- AutoCompleteTextView-------android 高级控件(自动补全文本框)
- Android入门(4)——AutoComplete TextView实现动态自动匹配输入的内容
- Android控件之自动匹配输入内容AutoCompleteTextView
- Android自己主动提示文本框(AutoCompleteTextView)
- Android动态匹配输入内容之AutoCompleteTextView,MultiAutoCompleteTextView
- Android用户输入自动提示控件AutoCompleteTextView使用方法
- Android( 基本控件)、progressBar+Handler(进度条)、AutoCompleteTextView(单行自动补全)、MultiAutoCompleteTextView(多行补全)
- android 自定义控件之AutoCompleteTextView邮箱后缀自动补全
- Android开发之四(八):常用控件之自动提示(AutoCompleteTextView)
- Android自定义AutoCompleteTextView实现自动补全Email
- 我的Android进阶之旅------>Android之AutoCompleteTextView输入汉字拼音首字母实现过滤提示(支持多音字)
- Android中AutoCompleteTextView控件的使用