假坚强 发表于 2013-8-28 16:30

Android基础教程(八)AutoCompleteTextView的应用

>现在我们上网几乎都会用百度或者谷歌搜索信息,当我们在输入框里输入一两个字后,就会自动提示我们想要的信息,这种效果在 里是如何实现的呢? 事实上, 的 ,只要搭配 就能设计同类似 搜索提示的效果.本例子先在 当中布局一个 ,然后通过预先设置好的字符串数组,将此字符串数组放入 ,最后利用 方法,就可以让 具有自动提示的功能.例如,只要输入 ,就会自动带出包含 的所有字符串列表.让我们看一下效果图:http://www.apkbus.com/data/attachment/forum/201105/16/0843105cp30dppmbzpccuc.jpg下面是我们程序所涉及变动的代码(本例子代码写的相对较少):首先是    <?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="Please input:"   
    />   
<AutoCompleteTextView   
    android:id="@+id/actv"   
    android:layout_width="fill_parent"   
    android:layout_height="wrap_content"   
/>   
</LinearLayout>   
   其次是主控制程序    package com.android.test;   
   
import android.app.Activity;   
import android.os.Bundle;   
import android.widget.ArrayAdapter;   
import android.widget.AutoCompleteTextView;   
   
public class AutoCompleteTextViewDemo extends Activity {   
   
    private AutoCompleteTextView actv;   
    private static final String[] autoStrs = new String[]{"a","abc","abcd","abcde","ba"};   
    public void onCreate(Bundle savedInstanceState) {   
      super.onCreate(savedInstanceState);   
      setContentView(R.layout.main);   
         
      //通过findViewById()方法取到actv   
      actv = (AutoCompleteTextView)findViewById(R.id.actv);   
      //new ArrayAdapter对象并将autoStr字符串数组传入actv中   
      ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,   
                android.R.layout.simple_dropdown_item_1line,autoStrs);      
      actv.setAdapter(adapter);      
    }   
}   所有程序就这么一点点哦,大功就这么告成了,最后执行之,将达到上述效果,今天至此结束,谢谢大家!!!</div
页: [1]
查看完整版本: Android基础教程(八)AutoCompleteTextView的应用