Làm cách nào để nhận đề xuất hàng đầu hiện tại trong một số AutoCompleteTextView
? Tôi có nó đề xuất các mục, và tôi có một người nghe thay đổi văn bản đã đăng ký. Tôi cũng có một danh sách trên cùng một màn hình. Khi họ nhập, tôi muốn cuộn danh sách sang đề xuất "tốt nhất" hiện tại. Nhưng tôi không thể tìm ra cách truy cập các đề xuất hiện tại hoặc ít nhất đề xuất hàng đầu. Tôi đoán tôi đang tìm kiếm một cái gì đó giống như AutoCompleteTextView.getCurrentSuggestions()
:Nhận đề xuất hiện tại từ `AutoCompleteTextView`
autoCompleteTextView.addTextChangedListener(new TextWatcher() {
public void onTextChanged(CharSequence s, int start, int before, int count) {
String currentText = autoCompleteTextView.getText();
String bestGuess = autoCompleteTextView.getCurrentSuggestions()[0];
// ^^^ mewthod doesn't exist
doSomethingWithGuess(bestGuess);
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// do nothing
}
public void afterTextChanged(Editable s) {
// do nothing
}
});
Câu trả lời hay! Tốt hơn nhiều so với hack của tôi dưới đây. –
Cảm ơn bạn rất nhiều vì điều này. Tôi đã cố gắng một vài ngày để tìm ra cách tự động thay đổi chiều cao của trình đơn thả xuống của tôi dựa trên số lượng các mục được lọc và nó dường như lọc sau sự kiện 'afterTextChanged'. DataSetObserver chính xác là người nghe mà tôi cần để làm cho nó hoạt động – Mike
Đây là một điểm trên! –