Có lẽ @Alon có nghĩa là phân lớp ArrayAdapter
, thay vì AutoCompleteTextView
. Trong phương thức getFilter()
, phương thức này phải trả lại bộ lọc tùy chỉnh, không thực hiện lọc nào cả (trong số performFiltering()
). Có lẽ hiệu suất có thể là một vấn đề - bởi vì theread được sinh ra. Điều tốt nhất là lấy được từ TextEdit và thực hiện popup hoàn thành riêng. Nhưng đây là một lần nữa quá nhiều rắc rối cho tôi, cho đến nay. Cuối cùng, tôi đã làm một cái gì đó như sau và nó làm việc cho tôi. Bất kỳ phản hồi nào được đánh giá cao.
public class KArrayAdapter<T>
extends ArrayAdapter<T>
{
private Filter filter = new KNoFilter();
public List<T> items;
@Override
public Filter getFilter() {
return filter;
}
public KArrayAdapter(Context context, int textViewResourceId,
List<T> objects) {
super(context, textViewResourceId, objects);
Log.v("Krzys", "Adapter created " + filter);
items = objects;
}
private class KNoFilter extends Filter {
@Override
protected FilterResults performFiltering(CharSequence arg0) {
FilterResults result = new FilterResults();
result.values = items;
result.count = items.size();
return result;
}
@Override
protected void publishResults(CharSequence arg0, FilterResults arg1) {
notifyDataSetChanged();
}
}
}
Hy vọng điều đó sẽ hữu ích.
hi cảm ơn Alon i hav cùng prob. tôi sẽ biết ơn bạn nếu bạn có thể đăng một số mã liên quan. Cảm ơn trước –
vui lòng thêm một số mã hoặc mô tả giải pháp của bạn. tôi hoàn toàn bị mắc kẹt về điều này. –
@Rajivyadav Sẽ làm sớm –