| page.title=Hello, AutoCompleteTextView |
| parent.title=Hello, Views |
| parent.link=index.html |
| @jd:body |
| |
| <p>{@link android.widget.AutoCompleteTextView} is an implementation of the EditText widget that will provide |
| auto-complete suggestions as the user types. The suggestions are extracted from a collection of strings.</p> |
| |
| |
| <ol> |
| <li>Start a new project/Activity called HelloAutoComplete.</li> |
| <li>Open the layout file. |
| Make it like so: |
| <pre> |
| <?xml version="1.0" encoding="utf-8"?> |
| <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" |
| android:orientation="horizontal" |
| android:layout_width="fill_parent" |
| android:layout_height="wrap_content"> |
| |
| <TextView |
| android:layout_width="wrap_content" |
| android:layout_height="wrap_content" |
| android:text="Country" /> |
| |
| <AutoCompleteTextView android:id="@+id/edit" |
| android:layout_width="fill_parent" |
| android:layout_height="wrap_content"/> |
| |
| </LinearLayout> |
| </pre> |
| </li> |
| |
| <li>Open HelloAutoComplete.java and insert the following as the <code>onCreate</code> method: |
| <pre> |
| @Override |
| protected void onCreate(Bundle savedInstanceState) { |
| super.onCreate(savedInstanceState); |
| setContentView(R.layout.main); |
| |
| AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.edit); |
| ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, |
| android.R.layout.simple_dropdown_item_1line, R.array.planets); |
| textView.setAdapter(adapter); |
| } |
| </pre> |
| <p>Here, we create an AutoComplteteTextView from our layout. We then |
| create an {@link android.widget.ArrayAdapter} that binds a <code>simple_dropdown_item_1line</code> |
| layout item to each entry in the <code>COUNTRIES</code> array (which we'll add next). |
| The last part sets the ArrayAdapter to associate with our AutoCompleteTextView.</p> |
| </li> |
| |
| <li>After the <code>onCreate()</code> method, add the String array: |
| <pre> |
| static final String[] COUNTRIES = new String[] { |
| "Afghanistan", "Albania", "Algeria", "American Samoa", "Andorra", |
| "Angola", "Anguilla", "Antarctica", "Antigua and Barbuda", "Argentina", |
| "Armenia", "Aruba", "Australia", "Austria", "Azerbaijan", |
| "Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium", |
| "Belize", "Benin", "Bermuda", "Bhutan", "Bolivia", |
| "Bosnia and Herzegovina", "Botswana", "Bouvet Island", "Brazil", "British Indian Ocean Territory", |
| "British Virgin Islands", "Brunei", "Bulgaria", "Burkina Faso", "Burundi", |
| "Cote d'Ivoire", "Cambodia", "Cameroon", "Canada", "Cape Verde", |
| "Cayman Islands", "Central African Republic", "Chad", "Chile", "China", |
| "Christmas Island", "Cocos (Keeling) Islands", "Colombia", "Comoros", "Congo", |
| "Cook Islands", "Costa Rica", "Croatia", "Cuba", "Cyprus", "Czech Republic", |
| "Democratic Republic of the Congo", "Denmark", "Djibouti", "Dominica", "Dominican Republic", |
| "East Timor", "Ecuador", "Egypt", "El Salvador", "Equatorial Guinea", "Eritrea", |
| "Estonia", "Ethiopia", "Faeroe Islands", "Falkland Islands", "Fiji", "Finland", |
| "Former Yugoslav Republic of Macedonia", "France", "French Guiana", "French Polynesia", |
| "French Southern Territories", "Gabon", "Georgia", "Germany", "Ghana", "Gibraltar", |
| "Greece", "Greenland", "Grenada", "Guadeloupe", "Guam", "Guatemala", "Guinea", "Guinea-Bissau", |
| "Guyana", "Haiti", "Heard Island and McDonald Islands", "Honduras", "Hong Kong", "Hungary", |
| "Iceland", "India", "Indonesia", "Iran", "Iraq", "Ireland", "Israel", "Italy", "Jamaica", |
| "Japan", "Jordan", "Kazakhstan", "Kenya", "Kiribati", "Kuwait", "Kyrgyzstan", "Laos", |
| "Latvia", "Lebanon", "Lesotho", "Liberia", "Libya", "Liechtenstein", "Lithuania", "Luxembourg", |
| "Macau", "Madagascar", "Malawi", "Malaysia", "Maldives", "Mali", "Malta", "Marshall Islands", |
| "Martinique", "Mauritania", "Mauritius", "Mayotte", "Mexico", "Micronesia", "Moldova", |
| "Monaco", "Mongolia", "Montserrat", "Morocco", "Mozambique", "Myanmar", "Namibia", |
| "Nauru", "Nepal", "Netherlands", "Netherlands Antilles", "New Caledonia", "New Zealand", |
| "Nicaragua", "Niger", "Nigeria", "Niue", "Norfolk Island", "North Korea", "Northern Marianas", |
| "Norway", "Oman", "Pakistan", "Palau", "Panama", "Papua New Guinea", "Paraguay", "Peru", |
| "Philippines", "Pitcairn Islands", "Poland", "Portugal", "Puerto Rico", "Qatar", |
| "Reunion", "Romania", "Russia", "Rwanda", "Sqo Tome and Principe", "Saint Helena", |
| "Saint Kitts and Nevis", "Saint Lucia", "Saint Pierre and Miquelon", |
| "Saint Vincent and the Grenadines", "Samoa", "San Marino", "Saudi Arabia", "Senegal", |
| "Seychelles", "Sierra Leone", "Singapore", "Slovakia", "Slovenia", "Solomon Islands", |
| "Somalia", "South Africa", "South Georgia and the South Sandwich Islands", "South Korea", |
| "Spain", "Sri Lanka", "Sudan", "Suriname", "Svalbard and Jan Mayen", "Swaziland", "Sweden", |
| "Switzerland", "Syria", "Taiwan", "Tajikistan", "Tanzania", "Thailand", "The Bahamas", |
| "The Gambia", "Togo", "Tokelau", "Tonga", "Trinidad and Tobago", "Tunisia", "Turkey", |
| "Turkmenistan", "Turks and Caicos Islands", "Tuvalu", "Virgin Islands", "Uganda", |
| "Ukraine", "United Arab Emirates", "United Kingdom", |
| "United States", "United States Minor Outlying Islands", "Uruguay", "Uzbekistan", |
| "Vanuatu", "Vatican City", "Venezuela", "Vietnam", "Wallis and Futuna", "Western Sahara", |
| "Yemen", "Yugoslavia", "Zambia", "Zimbabwe" |
| }; |
| </pre> |
| <p>This is the list of suggestions that will be offered as the user types into the |
| AutoCompleteTextView.</p> |
| </li> |
| |
| <li>Now run it.</li> |
| </ol> |
| <p>As you type, you should see something like this:</p> |
| <img src="images/hello-autocomplete.png" width="150px" /> |
| |
| |
| <h3>References</h3> |
| <ul> |
| <li>{@link android.R.layout}</li> |
| <li>{@link android.widget.ArrayAdapter}</li> |
| <li>{@link android.widget.AutoCompleteTextView}</li> |
| </ul> |
| |
| |