CyStack logo
  • Sản phẩm & Dịch vụ
  • Giải pháp
  • Bảng giá
  • Công ty
  • Tài liệu
Vi

vi

Mục lục

Trang chủBlogAutoCompleteTextView tron...
Android

AutoCompleteTextView trong Android: Hướng dẫn kèm ví dụ

3 phút đọc07/08/2025
CyStack Author
Chris Pham

Technical Writer

0 lượt xem
Reading Time: 3 minutes

AutoCompleteTextView là một trường nhập liệu có thể chỉnh sửa, hiển thị tự động các gợi ý hoàn thành trong khi người dùng đang gõ trong ứng dụng Android. Trong hướng dẫn này, chúng ta sẽ triển khai AutoCompleteTextView trong ứng dụng bằng cách sử dụng ArrayAdapter để định nghĩa danh sách các gợi ý.

AutoCompleteTextView trong Android

Tổng quan về Android AutoCompleteTextView

AutoCompleteTextView là một thành phần được sử dụng để hiển thị các gợi ý trong khi viết trong một trường văn bản có thể chỉnh sửa. Danh sách gợi ý sẽ được hiển thị dưới dạng menu thả xuống (dropdown menu), từ đó người dùng có thể chọn mục mong muốn. Danh sách gợi ý được lấy từ một adapter và chỉ xuất hiện sau khi nhập một số ký tự nhất định, được chỉ định trong thuộc tính threshold. Để sử dụng một trường AutoCompleteTextView, cần khai báo nó trong layout xml như sau:


Lưu ý: android:ems hoặc setEms(x) thiết lập chiều rộng của TextView sao cho vừa với một đoạn văn bản gồm x chữ cái ‘M’, bất kể độ dài thực tế và kích thước chữ. Một số phương thức quan trọng của danh sách gợi ý trong AutoCompleteTextView được liệt kê bên dưới:

  • getAdapter() : Phương thức này trả về một adapter có khả năng lọc được, được sử dụng cho việc tự động gợi ý
  • getCompletionHint() : Phương thức này trả về văn bản gợi ý tùy chọn được hiển thị ở dưới cùng của danh sách khớp
  • getDropDownAnchor() : Phương thức này trả về id của view mà danh sách thả xuống của auto-complete được gắn vào
  • getListSelection() : Phương thức này trả về vị trí được chọn trong danh sách thả xuống, nếu có
  • isPopupShowing() : Phương thức này cho biết popup menu có đang hiển thị hay không
  • setText(CharSequence text, boolean filter) : Phương thức này đặt nội dung văn bản, tuy nhiên có thể tắt chức năng lọc
  • showDropDown() : Phương thức này hiển thị danh sách thả xuống lên màn hình

Phương thức setAdapter được dùng để thiết lập adapter cho autoCompleteTextView. Hãy cùng chuyển sang phần viết mã.

Cấu trúc dự án Android AutoCompleteTextView

AutoCompleteTextView trong Android

Dự án này chứa một TextView đơn giản và một AutoCompleteTextView trong bố cục của MainActivity. ArrayAdapter chứa các loại trái cây sau: Apple, Banana, Cherry, Date, Grape, Kiwi, Mango, Pear.

Mã ví dụ Android AutoCompleteTextView

Bố cục của MainActivity được định nghĩa như sau: activity_main.xml



    

    

        
    


MainActivity.java được định nghĩa như sau.

package com.journaldev.autocomplete;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;

public class MainActivity extends Activity {
    String[] fruits = {"Apple", "Banana", "Cherry", "Date", "Grape", "Kiwi", "Mango", "Pear"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //Creating the instance of ArrayAdapter containing list of fruit names
        ArrayAdapter adapter = new ArrayAdapter
                (this, android.R.layout.select_dialog_item, fruits);
        //Getting the instance of AutoCompleteTextView
        AutoCompleteTextView actv = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView);
        actv.setThreshold(1);//will start working from first character
        actv.setAdapter(adapter);//setting the adapter data into the AutoCompleteTextView
        actv.setTextColor(Color.RED);

    }
}

Trong đoạn mã trên, chúng ta đã lưu danh sách các loại trái cây trong một ArrayAdapter với layout được nhập từ Android SDK. Màu chữ trong ô nhập liệu (Editable TextView) là màu đỏ. Thuộc tính threshold được đặt là 1 có nghĩa là để hiển thị danh sách gợi ý, người dùng cần nhập ít nhất một ký tự. Lưu ý: Danh sách gợi ý chỉ hiển thị khi trường nhập liệu được focus.

AutoCompleteTextView trong Android

Dưới đây là ứng dụng ví dụ của chúng ta với tính năng tự động hoàn thành khi chạy.

Về tác giả

Chris Pham
Chris PhamTechnical Writer

I have over 5 years of experience writing technical documentation for tech products, making them accessible and user-friendly. My focus is always on providing clear and precise information. @#@ Tôi đã có hơn 5 năm kinh nghiệm viết tài liệu kỹ thuật cho các sản phẩm công nghệ, giúp người dùng dễ dàng tiếp cận và sử dụng. Tôi luôn tập trung vào việc cung cấp thông tin chính xác và dễ hiểu.

Cập nhật thông tin mới nhấtNhận các thông tin mới nhất về mối đe dọa, báo cáo an ninh mạng từ CyStack về hòm thư điện tử của bạn

Thảo luận (0)

Đăng nhập để thảo luận

Bài viết liên quan