На активности есть ListView и EditText. ListView с множественным выбором. EditText нужен для того, что бы искать по символам введенным в него подходящие элементы из ListView, а затем собственно ListView обновлять и оставлять в нем только совпадающие элементы. Код обработки выбора элемента из ListView:
ArrayList<String> list = new ArrayList<>()//Ниже он иницилезируется, но сюда я это не добавил, ибо код там велик
ingridients_lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
SparseBooleanArray sp=ingridients_lv.getCheckedItemPositions();
selectedItems="";
for(int i=0;i < list.size();i++){
if(sp.get(i)) {
selectedItems += parent.getItemAtPosition(i) + ",";
}
}
text.setText(selectedItems);
}
});
Код для EditText:
inputSearch.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
SearchActivity.this.adapter.getFilter().filter(s);
}
@Override
public void afterTextChanged(Editable s) {
}
});
Проблема заключается в том, что при вводе символов в EditText, а затем выборе элементов из обновленного ListView переменная selectedItems становится равна тем элементам, под теми идентификаторами которые у них были в обновленном ListView. После очищения EditTexta'a ListView снова обновляется, приходит в обычное состояние, но выбранные элементы по-прежнему имеют идентификаторы из старого ListView. И при выборе новых элементов уже в прежнем списке переменная selectedItems становится равна тем элементам, чьи идентификаторы из нового ListView совпадают с идентификаторами элементов из старого ListView. Понимаю, что довольно непонятно объяснил, если нужны будут еще разъяснения пожалуйста пишите. Мне очень нужна помощь
p.s Я хочу как раз добиться того, что бы "апельсин" выбранным не оставался, ведь первоначально я выбирал не его, а "зелень"
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости