android学习笔记(22)android AutoCompleteTextView 自动完成文本框(AutoCompleteTextView )的功能和用法的功能和用法

2014-12-13 10:56:47     20 人阅读    

 自动完成文本框(AutoCompleteTextView )的功能和用法
自动完成文木框(AutoCompleteTextView)从EditText派生而出,实际上它也是一个文 本编辑框,但它比普通编辑框多了一个功能:当用户输入一定字符之后,自动完成文本框会 显示一个下拉菜单,供用户从中选择,当用户选择某个菜单项之后,AutoCompleteTextView 按用户选择自动填写该文本框。
AutoCompleteTextView除了可使用EditText提供的XML属性和方法之外,还支持如表 2.13所示的常用XML属性及相关方法。
表2.13 AutoCompleteTextView支持的常用XML属性及相关方法
XML厲性                                                相关方法                                                       说 明
android :completionH int               setCompletionHint(CharSequence)                      设置出现在下拉菜单中的提示标题
android:completionThreshold       setThreshold(int)                 设罝用户至少输入几个字符才会显示提示
android :dropDownHeight           setDropDownHeight( int)     设置下拉菜单的高度
android:dropDownHorizonlalOffset                                          设置下拉菜单与文本框之间的水平偏移。下 拉菜单默认与文本框左对齐
androidrdropDownVerticalOffset                                             设置下拉菜单与文本框之间的垂直偏移。下 拉菜巾默认紧跟文本椎
android: dropDown Width           setDropDownWidth(int)      设置下拉菜单的宽度
android: popupBackground        setDropDownBackgroundResource(int)     设置下拉菜单的背景


使用AutoCompleteTextView很简单,只要为它设置一个Adapter,该Adapter封装了 AutoCompleteTextView预设的提示文本。
下面的界面布局文件中包含了一个AutoCompleteTextView,布局文件代码如下。
程序清单:\res\layout\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"
 >
<!-- 定义一个自动完成文本框
 ,指定输入一个字符后进行提示 -->
<AutoCompleteTextView  
 android:id="@+id/auto"
 android:layout_width="fill_parent" 
 android:layout_height="wrap_content" 
 android:completionHint="请选择您喜欢的图书:"
 android:dropDownHorizontalOffset="20dp"
 android:completionThreshold="1"
 />
</LinearLayout>

上面的界面布局中定义了一个AutoCompleteTextView,接下来在程序中为它绑定一个 Adapter, Adapter负责为它提供提示文本。主程序如下。
程序清单:\src\org\crazyit\autocomplete\Auto CompleteTextViewTest.java

package org.crazyit.autocomplete;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
public class AutoCompleteTextViewTest extends Activity
{
 //定义字符串数组,作为提示的文本
 String[] books = new String[]{
  "疯狂Java讲义",
  "疯狂Ajax讲义",
  "疯狂XML讲义",
  "疯狂Workflow讲义"
 };
 @Override
 public void onCreate(Bundle savedInstanceState)
 {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  //创建一个ArrayAdapter,封装数组
  ArrayAdapter<String> aa = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line,books);
  AutoCompleteTextView actv = (AutoCompleteTextView)findViewById(R.id.auto);
  //设置Adapter
  actv.setAdapter(aa);
 }
}


原文地址:http://www.itmmd.com/201412/309.html
该文章由 萌萌的IT人 整理发布,转载须标明出处。

node.js依赖的 JavaScript基础 v8中的JavaScript   上一篇
下一篇  android学习笔记(21)图像视固(Image View )的功能和用法

精彩回复
发表评论
姓名:       

《程序员app》专门为程序员量身定做!