Tôi có một MultiAutoCompleteTextView cho phép bạn nhập vào nhiều mục và hiển thị cho bạn các đề xuất tự động điền. Vấn đề của tôi phát sinh khi tôi gửi dữ liệu của mình. Tôi đang thêm bất kỳ chuỗi đã nhập vào danh sách thả xuống, nhưng nỗ lực của tôi để sắp xếp dữ liệu không thành công. Mã thực thi trên trình:Sắp xếp ArrayAdapter cho Android
final private Comparator<String> comp = new Comparator<String>() {
public int compare(String e1, String e2) {
return e1.toString().compareTo(e2.toString());
}
};
((ArrayAdapter<String>) autoCompleteView.getAdapter()).add(getString());
((ArrayAdapter<String>) autoCompleteView.getAdapter()).sort(comp);
mã cho những gì xảy ra trên cách nhấn vào autoCompleteView:
view.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
adapter.getFilter().filter(null);
//adapter.sort(comp);
view.showDropDown();
}
});
bất cứ ai có thể tìm thấy bất cứ điều gì sai trái với những gì tôi đang làm?
EDIT: một số thông tin hơn, sau khi kết hợp thay đổi từ @Sam
private ArrayList<String> array = new ArrayList<String>();
private ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line,
array);
private void setUpAutoComplete(final MultiAutoCompleteTextView view)
{
array.add("test string"); // this is successfully added to the drop down list
Collections.sort(array, comp);
adapter.notifyDataSetChanged();
}
private void onSubmit()
{
array.add(getString()); // this fails to add
adapter.notifyDataSetChanged();
}
Cảm ơn. Tôi đã thêm mã này vào phần thực thi khi tôi gửi, nhưng danh sách thả xuống không cập nhật chút nào với mục nhập mới. Khi tôi thêm mã vào phần nơi bộ điều hợp được khởi tạo tuy nhiên, chuỗi được thêm vào thành công được thêm vào.Does âm thanh này như một vấn đề với (chủ đề) không thể sửa đổi dữ liệu hiện có? – Flash
Tôi không thấy nơi bạn đang sử dụng chủ đề hoặc ngữ cảnh tổng thể, vì vậy tôi không thể chắc chắn ... – Sam
Xin lỗi, vui lòng xem chỉnh sửa của tôi về câu hỏi gốc. – Flash