Saturday, July 21, 2012

AutoCompleteTextView in Andorid

AutoCompleteTextView is an editable text view that shows completion suggestions automatically while the user is typing. The list of suggestions is displayed in a drop down menu from which the user can choose an item to replace the content of the edit box with.


create a xml file, /res/values/myvalues.xml, to hold the suggestions.
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<array name="month">
       <item>January</item>
       <item>February</item>
       <item>March</item>
       <item>April</item>
       <item>May</item>
       <item>June</item>
       <item>July</item>
       <item>August</item>
       <item>September</item>
       <item>October</item>
       <item>November</item>
       <item>December</item>
</array>
</resources>


Main Java code
package com.ExAutoCompleteTextView;

import android.app.Activity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;

public class ExAutoCompleteTextView extends Activity implements TextWatcher {
 
 AutoCompleteTextView autoCompleteTextView;
 
   /** Called when the activity is first created. */
   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.main); 
       autoCompleteTextView = (AutoCompleteTextView)findViewById(R.id.input);
       String[] month = getResources().getStringArray(R.array.month);
       autoCompleteTextView.addTextChangedListener(this); 
       autoCompleteTextView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, month)); 
   }

 @Override
 public void afterTextChanged(Editable arg0) {
  // TODO Auto-generated method stub
  
 }

 @Override
 public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
   int arg3) {
  // TODO Auto-generated method stub
  
 }

 @Override
 public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
  // TODO Auto-generated method stub
  
 }
}


main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:orientation="vertical"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   >
<TextView 
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:text="@string/hello"
   />
<AutoCompleteTextView
   android:id="@+id/input" 
   android:layout_width="fill_parent" 
   android:layout_height="wrap_content" 
   android:completionThreshold="1" 
   />
</LinearLayout>

No comments:

Post a Comment