Android自動(dòng)補(bǔ)全(一)
android自動(dòng)補(bǔ)全 在activtity_main.xml 文件中寫一個(gè)AutoCompleteTexView(自動(dòng)完成文本框)標(biāo)簽
在MainActivity.java的文件中
根據(jù)id獲取自動(dòng)完成的文本框autoCompleteTextView=(AutoCompleteTextView)findViewById(R.id.actv_main_1);
在數(shù)據(jù)庫中獲取數(shù)據(jù)在strings.xml的文件中寫一個(gè)數(shù)組(在此以數(shù)組為例)
Android_08_0628李江李小龍李靖李月123102341230512036
獲取數(shù)組的數(shù)據(jù)
String[]?data?=?getResources().getStringArray(R.array.str_data);
C.將數(shù)據(jù)放入文本框
a。使用(數(shù)組)適配器
?ArrayAdapter?adapter?=?new?ArrayAdapter(this,android.R.layout.simple_list_item_1,data);
b。將適配器設(shè)置給控件
?autoCompleteTextView.setAdapter(adapter);
----運(yùn)行發(fā)現(xiàn)要到第二個(gè)文字才開始出現(xiàn)自動(dòng)補(bǔ)全,解決如下
在activity.xml的文件中的自動(dòng)完成文本款中加入一行代碼
android:completionThreshold="1"(設(shè)置幾個(gè)字符提示) 總體如下
####如果想要讓自動(dòng)補(bǔ)全框使用自己的形式,則可以自己寫一個(gè)類似于android.R.layout.simple_list_item_1的文件如下:在layout中新建一個(gè)complete_layout.xml
并將MainActivity.java中的
使用適配器的那一塊
ArrayAdapter?adapter?=?new?ArrayAdapter(this,android.R.layout.simple_list_item_1,data);
改成
ArrayAdapter?adapter?=?new?ArrayAdapter(this,R.layout.complete_layout,data);
由此,自動(dòng)補(bǔ)全完成了
所有代碼如下
activity_main.xml
Strings.xml
Android_08_0628李江濤李小龍李靖李月123102341230512036
MainActivity.java
package?pw.gutao.android_08_0628; import?android.support.v7.app.AppCompatActivity; import?android.os.Bundle; import?android.widget.ArrayAdapter; import?android.widget.AutoCompleteTextView; public?class?MainActivity?extends?AppCompatActivity?{ ????private?AutoCompleteTextView?autoCompleteTextView; ????@Override ????protected?void?onCreate(Bundle?savedInstanceState)?{ ????????super.onCreate(savedInstanceState); ????????setContentView(R.layout.activity_main); ????????//獲取自動(dòng)完成的文本款 ????????autoCompleteTextView?=?(AutoCompleteTextView)?findViewById(R.id.actv_main_1); ????????//獲取數(shù)組 ????????String[]?data?=?getResources().getStringArray(R.array.str_data); ????????//將數(shù)據(jù)放入文本框 ????????//使用適配器??數(shù)組適配器(將數(shù)據(jù)通過Android自帶的形式放入上下文中) ????????ArrayAdapter?adapter?=?new?ArrayAdapter(this,android.R.layout.simple_list_item_1,data); ????????//將適配器設(shè)置給控件 ????????autoCompleteTextView.setAdapter(adapter); ???????? ????} }
一句話:自己的優(yōu)秀習(xí)慣要將動(dòng)力放在自己身上,不要把想要讓自己更優(yōu)秀的習(xí)慣放在別人身上,我們不能讓任何人在某時(shí)出現(xiàn)的意外而影響我們的成長。