0

Мои CardView состоят из EditText в которые записываются данные вручную. При добавлении большого количества CardView, данные перескакивают на другие Cardview. (Пример на скриншотах).

введите сюда описание изображения введите сюда описание изображения

Поискав решение в интернете я наткнулся на несколько решений: holder.setIsRecyclable(false/true); не корректно работает (как я понял, при прокрутке, пересоздает каждый раз новый Item и теряет предыдущие данные) Думал создать коллекцию типа ArrayMap с ключем "Позиция" и записывать данные туда. но так как я пересоздаю items коллекция будет постоянно дополняться.

и adapter.setHasStableIds(false/true); из за которого у меня вылетает "Cannot change whether this adapter has stable IDs while the adapter has registered observers.". какую часть кода показать? или как я могу решить проблему? Ах да. когда я хочу убрать данные с новой ячейки, приложение вылетает. потому что я считаю все данные с ячеек через ArrayList (например в общую сумму всех значений из всех EditText и Items) а в итоге количество элементов Коллекции превышает количество созданных Items.

  • https://ru.stackoverflow.com/a/436775/177345, но такое решение - грубый костыль, потому что теряется сам принцип работы списка. Показать нужно код адаптера и код добавления.удаления айтема, если у вас с ним проблемы, так же стектрейс при падении, когда удаляется айтем. – pavlofff Mar 06 '18 at 02:46
  • по идее этот метод отлично подходит мне, так как данных нужно не слишком много, и контейнеров нужно сделать ограниченое кол-во. думаю что не будет сильно расходовать память для 15 обьектов. всеравно больше не нужно будет. решение помогло – Максим Войтенко Mar 07 '18 at 01:16

0 Answers0