Есть БД. Есть список, который выводит все записи из нее. В этой же активности есть возможность добавления данных в БД. Как лучше сделать автообновление списка? Использую RecyclerView. Передаю ArrayList<String>. Вариантов, как я понял, несколько:
1) Добавлять данные в БД и те же данные в ArrayList и вызывать notifyDataSetChanged.
2) Добавлять данные в БД, снова брать все данные, создавать адаптер и присваивать его списку
3) Передавать курсор в адаптер. Просто добавлять данные в БД и вызывать requery у курсора (надо ли?)
Какой вариант самый лучший? Какие нет? Почему? Если ли еще способы?
CursorLoaderи методrestart(). Про всякиеArrayListи прочие извращения с перегонкой из курсора в какие о промежуточные списки можете сразу забыть - это бессмысленно и беспощадно. – pavlofff Mar 07 '17 at 14:25CursorAdapterне понял, его можно использовать сRecyclerView? – Mar 07 '17 at 14:32RecyclerView... для него вообще нет готовых адаптеров. Ну, можно сделать свой, на основе класса дляListView, хотя я бы рекомендовал сделать простой адаптер с данными из переданного курсора и работать сCursorLoader- это решит множество не очевидных проблем в дальнейшем, хотя сначала и кажется более сложным. Завтра, если время будет нормальный ответ напишу. Пока можете пример посмотреть с CursorLoader, правда он с ListView, но для понимания это не принципиально. Фильтрация здесь - обновление списка фактически – pavlofff Mar 07 '17 at 14:38