Я пытался отфильтровать свой ListView из своего окна EditText, но в настоящее время он не работает.
У меня есть ListView, который правильно получает данные, и они добавляются в мой собственный ListView с использованием класса ArrayAdapter имой собственный класс ArrayList.Когда я, например, набираю «таблица», я хочу, чтобы он сортировал по загруженным заголовкам в моем ListView, а затем он должен показать мне элементы, которые остались и соответствуют таблице.
Мой текущий код:
private ArrayList<Order> orders; /* ArrayList class with my own Order class to
define title, info etc. */
private OrderAdapter adapter; //Own class that extends ArrayAdapter
orders = new ArrayList<Order>();
adapter = new OrderAdapter(this, R.layout.listrow, orders); /* listrow defining a
single item in my ListView */
setListAdapter(adapter); //Set our adapter to a ListView
search.addTextChangedListener(filterTextWatcher); //search is my EditText
private TextWatcher filterTextWatcher = new TextWatcher() {
public void afterTextChanged(Editable s) {
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
public void onTextChanged(CharSequence s, int start, int before,
int count) {
adapter.getFilter().filter(s); //Filter from my adapter
adapter.notifyDataSetChanged(); //Update my view
}
};
Хорошо, как я могу этого добиться?Когда я вводю какое-то значение в поле EditText, все исчезает, даже если есть совпадение.
Заранее спасибо и скажите мне, если вам нужно больше фрагментов кода или этот вопрос мне неясен!