自动完成AutoCompleteTextView(android)
2011-12-19 16:53
519 查看
自动完成就是在输入框中输入字母,然后自己找到相近的词,这个在 android 中需要先把词给指定出来,书中用到的是 静态数组,这里改成了资源文件
有两个自动完成的输入框:AutoCompleteTextView 与 MultiAutoCompleteTextView
区别是:
AutoCompleteTextView 只能自动完成一个,而 MultiAutoCompleteTextView 可以自动完成多个,中间是用 逗号分开的
代码很简单
java代码:
package zziss.android.autocomplete;
import android.app.Activity;
import android.content.res.Resources;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.MultiAutoCompleteTextView;
public class AutoCompleteActivity extends Activity {
/** Called when the activity is first created. */
private AutoCompleteTextView iAutoComp;
private MultiAutoCompleteTextView iMAutoComp;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Resources res = getResources();
String[] list = res.getStringArray(R.array.itemlist);
iAutoComp = (AutoCompleteTextView)this.findViewById(R.id.autocomplete);
ArrayAdapter<String> ada = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line,list);
iAutoComp.setAdapter(ada);
iMAutoComp = (MultiAutoCompleteTextView)this.findViewById(R.id.mautocomplete);
iMAutoComp.setAdapter(ada);
iMAutoComp.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
}
}
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
<AutoCompleteTextView
android:id="@+id/autocomplete"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<MultiAutoCompleteTextView
android:id="@+id/mautocomplete"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, AutoCompleteActivity!</string>
<string name="app_name">AutoComplete</string>
<string-array name="itemlist">
<item>中国</item>
<item>中国人</item>
<item>中心发展</item>
<item>大学</item>
<item>大家好</item>
<item>大大小小</item>
<item>大地球</item>
<item>abghh</item>
<item>abhhhh</item>
</string-array>
</resources>
有两个自动完成的输入框:AutoCompleteTextView 与 MultiAutoCompleteTextView
区别是:
AutoCompleteTextView 只能自动完成一个,而 MultiAutoCompleteTextView 可以自动完成多个,中间是用 逗号分开的
代码很简单
java代码:
package zziss.android.autocomplete;
import android.app.Activity;
import android.content.res.Resources;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.MultiAutoCompleteTextView;
public class AutoCompleteActivity extends Activity {
/** Called when the activity is first created. */
private AutoCompleteTextView iAutoComp;
private MultiAutoCompleteTextView iMAutoComp;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Resources res = getResources();
String[] list = res.getStringArray(R.array.itemlist);
iAutoComp = (AutoCompleteTextView)this.findViewById(R.id.autocomplete);
ArrayAdapter<String> ada = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line,list);
iAutoComp.setAdapter(ada);
iMAutoComp = (MultiAutoCompleteTextView)this.findViewById(R.id.mautocomplete);
iMAutoComp.setAdapter(ada);
iMAutoComp.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
}
}
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
<AutoCompleteTextView
android:id="@+id/autocomplete"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<MultiAutoCompleteTextView
android:id="@+id/mautocomplete"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, AutoCompleteActivity!</string>
<string name="app_name">AutoComplete</string>
<string-array name="itemlist">
<item>中国</item>
<item>中国人</item>
<item>中心发展</item>
<item>大学</item>
<item>大家好</item>
<item>大大小小</item>
<item>大地球</item>
<item>abghh</item>
<item>abhhhh</item>
</string-array>
</resources>
相关文章推荐
- [Android] AutoCompleteTextView:自动完成输入内容的控件
- Android练习-----自动完成文本框(AutoCompleteTextView)(搜索框)
- Android开发高级组件之自动完成文本框(AutoCompleteTextView)用法示例【附源码下载】
- Android——适配器其他组件(AutoCompleteTextView:自动完成文本编辑框;Spinner:下拉列表)
- Android:自动完成文本框(AutoCompleteTextView、MultiAutoCompleteTextView )
- Android 组件系列(1):自动完成输入内容的组件(AutoCompleteTextView )
- Android零基础入门第47节:自动完成文本框AutoCompleteTextView
- Android UI系统控件进阶(三)—自动完成文本控件AutoCompleteTextView详解及属性
- [Android]笔记15:自动完成文本框(AutoCompleteTextView)的功能与用法
- Android高级组件AutoCompleteTextView自动完成文本框使用详解
- Android 高级UI组件之自动完成文本框(AutoCompleteTextView)
- Android -AutoCompleteTextView-简单又好用的自动完成文本框
- [Android] AutoCompleteTextView:自动完成输入内容的控件(自动补全)
- Android组件复习之基本组件06—autocompletetextview自动完成文本框
- Android零基础入门第47节:自动完成文本框AutoCompleteTextView
- Android组件复习之基本组件06—autocompletetextview自动完成文本框
- Android开发10.2:UI组件AutoCompleteTextView(自动完成文本框)
- Android开发10.2:UI组件AutoCompleteTextView(自动完成文本框)
- Android之AutoCompleteTextView自动匹配(笔记)
- Android学习笔记(六)AutoCompleteTextView自动完成文本框