@davidnum95

Как уведомить RecyclerView о том что данные изменились?

Добрый день! При потере фокуса берется значение из TextEdit и записывается в БД. Как уведомить RecyclerView о том что данные изменились и нужно обновить view из ViewHolder?
public class OrderViewHolder extends RecyclerView.ViewHolder {

    public OrderCardBinding orderCardBinding;
    DbHelper dbHelper;
    public OrderViewHolder(View itemView) {
        super(itemView);
        dbHelper = new DbHelper(itemView.getContext());
        orderCardBinding = DataBindingUtil.bind(itemView);

        orderCardBinding.orderTitleEt.setOnFocusChangeListener((view, hasFocus) -> {
            if (!hasFocus) {
                  dbHelper.renameTitleOrder(dbHelper.getAllOrders()
                        .get(getAdapterPosition()).id, orderCardBinding.orderTitleEt.getText().toString());
                        //вот здесь нужно уведомить RecyclerView что данные изменились и нужно обновить адаптер

            }
        });
    }
}
  • Вопрос задан
  • 542 просмотра
Решения вопроса 1
gadfi
@gadfi
https://gamega.org
не совсем понял что вы хотите
если хотите брать данные из бд то можно использовать ContentProvider( да cursorprovider не работает с RecyclerView но есть https://gist.github.com/skyfishjy/443b7448f59be978bc59 )
можно использовать rxjava
можно EventBus
можно просто пробросить интерфейс
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы