错误无法将字符串转换为整数

时间:2014-04-29 07:10:38

标签: java android parseint edittextpreference

我无法将EditTextPreference值从string更改为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的值转换为。感谢

日志: enter image description here

代码:

        //-- 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 in PreferenceActivity似乎存储了错误的值..现在我可以启动应用程序并且看起来很顺利..我的解决方案就是卸载并重新安装应用程序..太奇怪了。无论如何,感谢大家

3 个答案:

答案 0 :(得分:0)

你能检查变量vedit的类型吗?错误地声明为String?

答案 1 :(得分:0)

尝试使用String value = WifiOnOffValue.getText().toString().trim()并注销以查看value的值是什么

答案 2 :(得分:0)

应该

WifiOnOffValue = (EditTextPreference) getPreferenceManager().findPreference("WifiOnOffValue");