Добрый вечер всем
Краткий обзор перед подробным объяснением.В настоящее время у меня есть база данных SQL, которая поступает в массив списков благодаря модальности, затем мы передаем этот массив списков в наш адаптер представления рециркуляции, который затем заполняет строку.
Теперь я пытаюсь встроить опцию для пользователя, чтобы выбрать строку, а затем проверка становится истинной, и отображается галочка.Как вы все в настоящее время знаете, если состояние не сохраняется, оно начинает перемещаться в случайные строки или полностью удаляется.
Давайте начнем с моей базы данных SQL Lite.Три простых строки Название, Описание и Флажок.Обратите внимание, что при добавлении новой строки в столбец флажка sql он автоматически устанавливается значение false.
Фрагмент ниже SQL-запроса, используемого для заполнения моего адаптера recyclerView
ArrayList<NoteInfoModal> noteInfoModalArrayList = new ArrayList<>();
SQLiteDatabase sqLiteDatabase = this.getWritableDatabase();
Cursor cursor = sqLiteDatabase.rawQuery("SELECT * FROM " + Primary_Table + " ORDER BY Col_DateOrder ASC", null);
cursor.moveToFirst();
while (!cursor.isAfterLast()){
NoteInfoModal noteInfoModal = new NoteInfoModal();
noteInfoModal.setNoteName(cursor.getString(cursor.getColumnIndex(Col_NoteTitle)));
Применение его кАдаптер
homeScreenAdapter = new HomeScreenAdapter(getContext(), primaryDatabase.populateHomeScreenOldestFirst(), filterOption, HomeScreenFragment.this);
Наконец, привязка информации внутри адаптера к правильному представлению (это для флажка)
((CustomViewHolder) holder).chkNote.setChecked(Boolean.valueOf(noteInfoModal.noteCheckBox));
Теперь я понимаю, что я мог бы просто обновить строкубазы данных SQL будет иметь значение true, поскольку это затем сохранит состояние, но если пользователь закрывает, а затем снова открывает приложение, я хочу, чтобы все они не проверялись / ложные каждый раз
Просто ищу другой способ приблизиться к этомувыпуск.
спасибо