AutoCompleteTextView , 可實現用戶輸入內容有自動提示的功能,類似百度的搜索結果.
eg:實現城市名的模糊查詢
運行結果截圖:
1. activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="AutoCompleteTextView" />
<AutoCompleteTextView
android:id="@+id/autotext1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
</AutoCompleteTextView>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="MultiAutoCompleteTextView" />
<MultiAutoCompleteTextView
android:id="@+id/multiautotext"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
2. MainActivity.java
package com.android.myautotext1;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.MultiAutoCompleteTextView;
public class MainActivity extends Activity {
private AutoCompleteTextView auto;
private MultiAutoCompleteTextView multiauto;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
auto = (AutoCompleteTextView)this.findViewById(R.id.autotext1);
String [] autoStrings = new String[]{"聯合國","聯合國安理會","聯合國五個常任理事國","Google","Google Map"};
//第二個參數表示適配器的下拉風格
ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_dropdown_item_1line, autoStrings);
auto.setAdapter(adapter);
multiauto = (MultiAutoCompleteTextView)this.findViewById(R.id.multiautotext);
multiauto.setAdapter(adapter);
//完成對選項的拆分功能,以逗號拆分
multiauto.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
}
}
注意:適配器的使用