自动完成AutoCompleteTextView(android)

自动完成就是在输入框中输入字母,然后自己找到相近的词,这个在 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>

 

posted @ 2011-12-19 16:53  zziss  阅读(272)  评论(0编辑  收藏  举报