На активности есть 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 Я хочу как раз добиться того, что бы "апельсин" выбранным не оставался, ведь первоначально я выбирал не его, а "зелень"
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Столкнулся с такой проблемой, нужно организовать на сайте вывод данных в ввиде пираммиды, по принцыпу: