AutoCompleteTextView自動提示,當用戶輸入關鍵字時會自動補全,並顯示在一個下拉列表中,用戶可以選擇一項完成輸入。
實現步驟;
1、在佈局文件中添加AutoCompleteTextView
2、在activity中定義一個字符串類型的數組並添加數據
3、獲取AutoCompleteTextView
4、設置適配器
5、給AutoCompleteTextView綁定適配器
------------------------------------------------------------------------------
佈局文件代碼:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<AutoCompleteTextView
android:id="@+id/auto"
android:completionThreshold="1"
android:layout_width="match_parent"
android:textColor="#000000"
android:hint="請查找的輸入關鍵字"
android:layout_height="wrap_content" />
</RelativeLayout>
注意:completionThreshold屬性是設置輸入到第幾個字符時聯想
-------------------------------------------------------------------------
Activity代碼:
package com.example.autocompletetextview;
import android.os.Bundle;
import android.R.string;
import android.app.Activity;
import android.view.Menu;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
public class MainActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//使用數組進行綁定
String[] autoString=new String[]{"android","app","android平臺"};
//實例化適配器 第一個參數上下文 第二個參數佈局文件 第三個參數綁定的數據
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line, autoString);
//獲取控件
AutoCompleteTextView autoCompleteTextView=(AutoCompleteTextView) findViewById(R.id.auto);
//設置適配器
autoCompleteTextView.setAdapter(adapter);
}
}
提示:紅色表示關鍵代碼,其餘的代碼在創建項目的時候會自動生成。
在做這個案例的時候出現了提示列表裏面的內容全是白色的最後發現//實例化適配器 第一個參數上下文 第二個參數佈局文件 第三個參數綁定的數據
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line, autoString);在這裏只能填寫this
希望大家有所幫助吧!如果大家有想討論的可以加我qq935731320