AutoCompleteTextView is a powerful UI widget in Android that provides suggestions automatically as the user types. It's useful in forms, search bars, and when you want to improve the user experience by helping users complete text input quickly. In this blog post, we’ll walk through how to use AutoCompleteTextView in Android using Java.
AutoCompleteTextView is an editable text view that shows completion suggestions automatically while the user is typing. The suggestions are displayed in a drop-down menu from which the user can choose an item to replace the content of the edit box.
Create a layout file activity_main.xml with a single AutoCompleteTextView.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:orientation="vertical"
tools:context=".MainActivity">
<AutoCompleteTextView
android:id="@+id/auto_com"
android:layout_margin="16dp"
android:hint="Enter fruit name"
android:padding="12dp"
android:background="@android:drawable/editbox_background"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
Write your Java logic in MainActivity.java to bind the data with AutoCompleteTextView using ArrayAdapter.
package com.earntrek.autocompletetextapp;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import androidx.appcompat.app.AppCompatActivity;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
AutoCompleteTextView auto_com;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
auto_com = findViewById(R.id.auto_com);
ArrayList<String> arrayList = new ArrayList<>();
arrayList.add("Apple");
arrayList.add("Banana");
arrayList.add("Orange");
arrayList.add("Mango");
arrayList.add("Grapes");
arrayList.add("Papaya");
arrayList.add("Pineapple");
arrayList.add("Strawberry");
arrayList.add("Watermelon");
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, arrayList);
auto_com.setAdapter(adapter);
auto_com.setThreshold(1); // Start showing suggestions after 1 character
}
}
auto_com.ArrayList of fruit names.ArrayAdapter is used to bind this list to the AutoCompleteTextView.setThreshold(1) means suggestions will appear after the user types one character.AutoCompleteTextView is a handy feature in Android apps that improves usability and enhances user experience. Whether you're building a food app, travel planner, or shopping list, this feature makes input smarter and faster. Keep exploring more advanced features like using custom adapters or integrating APIs for dynamic suggestions.