Android中的AutoCompleteTextView可以实现文本输入框的自动补全功能,和网页上的输入框使用Ajax时有点像,使用这个功能时,需指定一个adapter来设置补全的 url:
<? 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" > <!-- 定义一个自动完成文本框,指定输入一个字符后进行提示 --> <!-- android:dropDownHorizontalOffse 设置下拉列表的水平偏移 --> < AutoCompleteTextView android:id ="@+id/auto" android:layout_width ="fill_parent" android:layout_height ="wrap_content" android:completionHint ="请选择您最喜欢的歌曲" android:dropDownHorizontalOffset ="20dp" android:completionThreshold ="1" /> <!-- 指明当输入多少个字的时候给出响应的提示 --> </ LinearLayout >
public class AutoCompleteTextViewTest extends Activity { // 定义字符串数组,作为提示的文本 String[] books = new String[]{ "孙燕姿-hey jude", "孙燕姿-the moment", "孙燕姿-tonight I feel close to you", "孙燕姿-leave me alone" }; @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); } }