您的位置:首页 > 移动开发 > Android开发

android 高级组件之 AutoCompleteTextView

2011-10-14 10:42 507 查看
自动完成文本框(AutoCompleteTextView) 从EditText 派生来的。实际上就是一个文本编辑框,

但他比文本框多了一个功能,就是当用用户输入一定定符时,自动完成文本框会出现一个下

接菜单,供用户选择,当用户选择后AutoCompleteTextView按用户的选择自动填充该文本框。

以下见demo,

第一步,我们需要事先准备好需要显示的数据,定义在strings.xml中

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">HelloAutoCompleteTextView</string>   
        <string-array name="province">
		<item>shan dong</item>
		<item>jiang su</item>
		<item>an hui</item>
		<item>zhe jiang</item>
		<item>fu jian</item>
		<item>shang hai</item>
		<item>guang dong</item>
		<item>guang xi</item>
		<item>hai nan</item>
		<item>hu bei</item>
		<item>hu nan</item>
		<item>he nan</item>
		<item>jiang xi</item>
		<item>bei jing</item>
		<item>tian jin</item>
		<item>he bei</item>
		<item>shan xi</item>
		<item>nei meng gu</item>
		<item>ning xia</item>
		<item>xin jiang</item>
		<item>qing hai</item>
		<item>shan xi</item>
		<item>gan su</item>
		<item>si chuan</item>
		<item>yun nan</item>
		<item>gui zhou</item>
		<item>xi zang</item>
		<item>chong qing</item>
		<item>liao ning</item>
		<item>ji lin</item>
		<item>hei long jiang</item>
		<item>tai wan</item>
		<item>xiang guang</item>
		<item>ao men </item>
		<item>山东</item>
		<item>江苏</item>
		<item>安徽</item>
		<item>浙江</item>
		<item>福建</item>
		<item>上海</item>
		<item>广东</item>
		<item>广西</item>
		<item>海南</item>
		<item>湖北</item>
		<item>湖南</item>
		<item>河南</item>
		<item>江西</item>
		<item>北京</item>
		<item>天津</item>
		<item>河北</item>
		<item>山西</item>
		<item>内蒙古</item>
		<item>宁夏</item>
		<item>新疆</item>
		<item>青海</item>
		<item>陕西</item>
		<item>甘肃</item>
		<item>四川</item>
		<item>云南</item>
		<item>贵州</item>
		<item>西藏</item>
		<item>重庆</item>
		<item>辽宁</item>
		<item>吉林</item>
		<item>黑龙江</item>
		<item>台湾</item>
		<item>香港</item>
		<item>澳门</item>		
	</string-array>
</resources>


第二步,定义我们需要显示的布局,main.xml

<?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 
		android:hint="请输入省份"
		android:id="@+id/AutoCompleteTextView01" 
		android:completionThreshold="1"
		android:layout_width="fill_parent" 		
		android:layout_height="wrap_content"
		>
	</AutoCompleteTextView>
	
</LinearLayout>
第三步,我们需要定义一个下拉的布局,供别人选择提示 list_item.xml。

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="10dp"
    android:textSize="16sp"
    android:textColor="#000">
</TextView>


第四步,编码实现。

package android.basic.lesson10;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;

public class MainHelloAutoCompleteTextView extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        //定义数组
        String[] province = getResources().getStringArray(R.array.province);
        
        //定义数组适配器
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list_item, province);
        
        //找到自动完成组件
        AutoCompleteTextView atv = (AutoCompleteTextView) findViewById(R.id.AutoCompleteTextView01);
       
        //为其设置适配器
        atv.setAdapter(adapter);

    }
}


效果图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: