我们在网上进行搜索时,经常会看见一些这样的效果:当我们输入类似“Android”的字样时,和Android相关的选项会被列出来,供用户选择。这种效果在Android中是用AutoCompleteTextView实现的。

AutoCompleteTextView组件是一个可编辑的文本视图,能显示用户键入的相关信息。建议列表显示一个下拉菜单,用户可以从中选择一项,以完成输入。建议列表是从一个数据适配器获取的数据。它有3个重要的方法。

 clearListSelection():清除选中的列表项。

 dismissDropDown():如果存在关闭下拉菜单。

 getAdapter():获取适配器。

下面就通过一个实例来说明AutoCompleteTextView,同样,AutoCompleteTextView也需要一个适配器提供数据,当输入文字时,下面的提示就是一个列表,运行效果如图4.20所示。


 

实现的步骤:

(1)界面的实现。从图4.20中可以看到,这个界面上只有一个TextView和AutoCompleteTextView,布局文件如下:

<?xml version="1.0" encoding="utf-8"?>
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#ffffff"
    >
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="请在下面输入字母:"
    android:textColor="#000000"
    android:textSize="20sp"
    />
         android:id="@+id/AutoCompleteTextView"
     android:layout_width="fill_parent"
     android:layout_height="wrap_content">
   

(2)获得AutoCompleteTextView实例,设置适配器(详细代码请参考光盘源代码:第4章\AutoCompleteTextViewDemo\src\com\zhy\AutoCompleteTextView\AutoCompleteTextViewDemoActivity.java)。

 private AutoCompleteTextView autoTextView;    //声明控件
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        //获得AutoCompleteTextView实例
        autoTextView = (AutoCompleteTextView) findViewById(R.id.AutoCompleteTextView);
        //定义
        String[] str = {"android", "abc", "abcd", "andsdg", "goodboy", "google"};
        //声明适配器
        ArrayAdapter adapter = new ArrayAdapter(this,android.R.layout.simple_
dropdown_item_1line, str);
        //设置适配器
        autoTextView.setAdapter(adapter);
    }

从实例中可以知道,AutoCompleteTextView需要在适配器中指定数据的来源,否则无法进行自动查找。

更多相关文章

  1. Android(安卓)网络请求详解
  2. Android(安卓)launchMode的使用
  3. Android第十九课 attempt to write a readonly database解决
  4. Android(安卓)数据库sqlite
  5. Android面试题——Activity
  6. Android避免多次弹出Toast提示
  7. 【Android(安卓)安卓】网络编程demo(二) Android客户端
  8. Android(安卓)之 数据存储方式
  9. Delphi XE5 for Android(安卓)(十)

随机推荐

  1. android PULL 解析XML
  2. 利用python对android批量多渠道打包
  3. Android实现异步处理
  4. Android系统搜索对话框(浮动搜索框)的使用
  5. android特定短信拦截
  6. 从智行Android(安卓)项目看组件化架构实
  7. android 中 Notification 关于状态栏的一
  8. 从源码角度分析android事件分发处理机制
  9. Android(安卓)启动另一个App/apk中的Acti
  10. 安卓ScrollView总结