1

我无法将 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;
            }
        }

已解决..这是解决方案:PreferenceActivity 中的 ClassCastException似乎存储了错误的值..现在我可以启动应用程序并且似乎运行良好..对我来说,解决方案只是卸载并重新安装应用程序..太奇怪了。总之谢谢大家

4

3 回答 3

0

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

于 2014-04-29T07:46:30.537 回答
0

不应该是

WifiOnOffValue = (EditTextPreference) getPreferenceManager().findPreference("WifiOnOffValue");
于 2014-04-29T07:59:44.113 回答
0

你能检查变量 vedit 的类型吗?被错误地声明为字符串?

于 2014-04-29T07:28:38.000 回答