zoukankan      html  css  js  c++  java
  • 自动完成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>

  • 相关阅读:
    leetcode-000-序
    统计学习方法:支撑向量机(SVM)
    统计学习方法:CART算法
    统计学习方法:最大熵模型
    〖Linux〗关于Linux软件包安装位置、版本查询
    〖Linux〗ltib的使用帮助
    〖Linux〗Debian 7.1.0 Wheezy使用ltib报错的解决办法
    〖Android〗把CM(Android)源代码导入eclipse的正确方法(2013-7-3)
    【Linux】eclipse juno 边框过大的调整方法
    【Android】在build/envsetup.sh中添加自己的命令(函数)
  • 原文地址:https://www.cnblogs.com/zziss/p/2293593.html
Copyright © 2011-2022 走看看