трудность с if else

Рейтинг: -2Ответов: 1Опубликовано: 13.04.2023

у меня возникла трудность с if else

переменная lal = 0 и я хочу её сравнить Если 0 = 0 то выведет 0, но почему-то выводит 1

blocker.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String lal = appPreferences.getString("blackout", "");

                if (lal == 0)
                {
                    textView.append("0");
                }
                else
                {
                    textView.append("1");
                }
                }
        });

Ответы

▲ 4Принят

Вы читаете переменную методом .getString();. Это означает, что в lal у вас строка, а не число. Строку нужно сравнивать а) со строкой, б) используя метод equals():

if (lal.equals("0"))

Если какие-то сохраняемые настройки у вас могут быть только число, то можно и сохранть их как число, а потом читать как число. Записать:

appPreferences.putInt("blackout", 0); // переменная blackout теперь целое число

Прочитать:

appPreferences.getInt("blackout", null);

Тогда можно сравнивать как у вас

if (lal == 0)