Automatic completion means entering letters in the input box and finding similar words by yourself. In android, You need to specify the words first. Static arrays are used in the book, and resource files are changed here.
There are two automatically completed input boxes: AutoCompleteTextView and MultiAutoCompleteTextView
The difference is:
AutoCompleteTextView can only be automatically completed, while MultiAutoCompleteTextView can be automatically completed, separated by commas (,).
The code is simple.
Java code:
Package zziss. android. autocomplete;
Import android. app. Activity;
Import android. content. res. Resources;
Import android. OS. Bundle;
Import android. widget. ArrayAdapter;
Import android. widget. AutoCompleteTextView;
Import android. widget. MultiAutoCompleteTextView;
Public class AutoCompleteActivity extends Activity {
/** Called when the activity is first created .*/
Private AutoCompleteTextView iAutoComp;
Private MultiAutoCompleteTextView iMAutoComp;
@ Override
Public void onCreate (Bundle savedInstanceState ){
Super. onCreate (savedInstanceState );
SetContentView (R. layout. main );
Resources res = getResources ();
String [] list = res. getStringArray (R. array. itemlist );
IAutoComp = (AutoCompleteTextView) this. findViewById (R. id. autocomplete );
ArrayAdapter <String> ada = new ArrayAdapter <String> (this, android. R. layout. simple_dropdown_item_1line, list );
IAutoComp. setAdapter (ada );
IMAutoComp = (MultiAutoCompleteTextView) this. findViewById (R. id. mautocomplete );
IMAutoComp. setAdapter (ada );
IMAutoComp. setTokenizer (new MultiAutoCompleteTextView. CommaTokenizer ());
}
}
Main. xml
<? Xml version = "1.0" encoding = "UTF-8"?>
<LinearLayout xmlns: android = "http://schemas.android.com/apk/res/android"
Android: layout_width = "fill_parent"
Android: layout_height = "fill_parent"
Android: orientation = "vertical">
<TextView
Android: layout_width = "fill_parent"
Android: layout_height = "wrap_content"
Android: text = "@ string/hello"/>
<AutoCompleteTextView
Android: id = "@ + id/autocomplete"
Android: layout_width = "fill_parent"
Android: layout_height = "wrap_content"
/>
<MultiAutoCompleteTextView
Android: id = "@ + id/mautocomplete"
Android: layout_width = "fill_parent"
Android: layout_height = "wrap_content"
/>
</LinearLayout>
Strings. xml
<? Xml version = "1.0" encoding = "UTF-8"?>
<Resources>
<String name = "hello"> Hello World, AutoCompleteActivity! </String>
<String name = "app_name"> AutoComplete </string>
<String-array name = "itemlist">
<Item> China </item>
<Item> Chinese </item>
<Item> center development </item>
<Item> university </item>
<Item> Hello everyone </item>
<Item> large, small </item>
<Item> Earth </item>
<Item> abghh </item>
<Item> abhhhh </item>
</String-array>
</Resources>