Запись в БД при обработке нажатия на SwitchCompat

Рейтинг: 0Ответов: 0Опубликовано: 19.05.2023

Всем привет. Помогите ,пожалуйста, разобраться с ситуацией. Использую SwitchCompat vibro_switch; для включения/отключения вибрации в приложении. Положение ВКЛ - иконка vibro_image меняется на включено, положение ВЫКЛ - меняется на иконку отключено. Проблем со сменой иконки нет, здесь все работает на ура.

Проблема с сохранением состояния в БД: getNameUser() - заменяла на текст хардкодом, даже выводила в лог - имя выводится, ошибка явно не в этом. Выносила запись в БД в любое абстрактное место, например при старте всего приложения - запись происходит так же без проблем.

Из самого класса осуществляется несколько обращений к БД на чтение и запись и все ок. Отсюда делаю вывод, что проблем с обращением к БД нету, иначе ошибка выскочила в другом месте.

Проблема только с записью в БД из переключателя.

На всякий случай запрос на обновление записи:

@Query("UPDATE SettingsAll SET VibroMode = :vibro WHERE UserSettings = :user")
void updateVibro(String vibro, String user); //обновляем статус настройки вибрации

Обработчик нажатия на переключатель:

    public void settings_vibro(View v){
        if (vibro_switch.isChecked()) {
            vibro_image.setBackgroundResource(R.drawable.vibro);
            dataBase.settingsAllDAO().updateVibro("on", getNameUser());
        }else
            vibro_image.setBackgroundResource(R.drawable.vibro_off);
            dataBase.settingsAllDAO().updateVibro("off", getNameUser());
    } //настройка вибро

Помогите, пожалуйста, разобраться в чем у меня ошибка и где я не права?

Ответы

Ответов пока нет.