Android AutoCompleteTextView

本文详细介绍了AutoCompleteTextView组件的工作原理及使用方法。该组件能够提供自动完成建议,并展示了如何通过设置适配器来实现自动补全功能。同时,还提供了具体的实现代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

AutoCompleteTextView是一个可编辑的文本视图显示自动完成建议当用户键入。建议列表显示在一个下拉菜单,用户可以从中选择一项,以完成输入。建议列表是从一个数据适配器获取的数据。它有三个重要的方法clearListSelection():清除选中的列表项、dismissDropDown():如果存在关闭下拉菜单、getAdapter():获取适配器

completionThreshold:它的值决定了你在AutoCompleteTextView至少输入几个字符,它才会具有自动提示的功能。另,默认最多提示20条。

 dropDownAnchor:它的值是一个ViewID,指定后,AutoCompleteTextView会在这个View下弹出自动提示。

 dropDownSelector:应该是设置自动提示的背景色之类的,没有尝试过,有待进一步考证。

 dropDownWidth:设置自动提示列表的宽度。

clearListSelection();//清除选中的列表项
dismissDropDown();//如果存在关闭下拉菜单
getAdapter();//获取适配器


案例代码

1.布局文件autocompletetextview.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"
    >
    <AutoCompleteTextView
         android:id="@+id/antoCom_btn_id"
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:completionHint="输入补全提示标题"
         android:completionThreshold="1"
        />
    <TextView
         android:layout_width="fill_parent"
         android:layout_height="wrap_content"
         android:text="@string/autoText_text"
        />
    </LinearLayout>

 2、java文件AutoCompleteTextViewDemo.java

package com.dream.app.start.autocompletetextview;
import com.dream.app.start.R;

public class AutoCompleteTextViewDemo extends PublicClass {
	String  [] str = {"abc","abcd","abd","asd","asw","wse","wsq"};
	//定义数组

//    String[] province = getResources().getStringArray(R.array.province);

	private AutoCompleteTextView myauto = null;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.autocomplete);
		
		//定义数组
//	    String[] province = getResources().getStringArray(R.array.province);
		
		 //定义数组适配器
         ArrayAdapter<String>   autoStr = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line,str);
		
         //找到自动完成组件
         myauto = (AutoCompleteTextView)findViewById(R.id.antoCom_btn_id);
		
         //为其设置适配器
         myauto.setAdapter(autoStr);
	}

}

3.执行效果:

 

 

 

 

转载于:https://my.oschina.net/amigos/blog/59431

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值