Ошибка Невозможно привести строку к целому числу

Я не могу изменить значение EditTextPreference со строки на int. Я сделал таким образом:

WifiOnOffValue = (EditTextPreference) findPreference("WifiOnOffValue");
String value = WifiOnOffValue.getText().toString();
if(value != null && !value.isEmpty()) {
    try {
        vedit = Integer.parseInt(value);
    } 
    catch (NumberFormatException ex) {
        ex.printStackTrace();
        vedit = 0;
    }
}

И я получаю ошибку java.lang.Integer cannot be cast to java lang.String... Мне нужно преобразовать значение моего EditTextPreference в целое число. Спасибо

Журнал:введите описание изображения здесь

Код:

        //-- Edittext Wifi
        WifiOnOffValue = (EditTextPreference) findPreference("WifiOnOffValue");

        String value = WifiOnOffValue.getText().toString().trim();
        if(value!=null && !value.isEmpty()){
            try{
                vedit = Integer.parseInt(value);
            } catch (NumberFormatException ex) {
                ex.printStackTrace();
                vedit=0;
            }
        }

Решено.. это было решением: ClassCastException в PreferenceActivity кажется, что он хранил неправильные значения. Теперь я могу запустить приложение и, кажется, все идет хорошо. Для меня было просто удалить и переустановить приложение... так странно. Все равно спасибо всем

3 ответа

Не могли бы вы проверить тип переменной vedit? Ошибочно объявлен как String?

Попробуй использовать String value = WifiOnOffValue.getText().toString().trim() и выйдите из системы, чтобы увидеть значение value является

Должно ли это быть

WifiOnOffValue = (EditTextPreference) getPreferenceManager().findPreference("WifiOnOffValue");
Другие вопросы по тегам