我正在尝试保存我的应用状态,我认为这一切看起来都不错,但我一直收到此错误:
10-07 15:18:35.386: E/AndroidRuntime(1818): Caused by: java.lang.NumberFormatException: Invalid int: ""
它会不断突出显示我的代码:
textView(something) = Integer.parseInt(textView(something).getText().toString());
答案 0 :(得分:5)
您的一个TextView是空白的。空字符串无法转换为int
。你能把它缩小到导致问题的那一个(或其中一个)吗?
修改强>
这很可能是因为您正在使用Activity
的{{1}}方法执行所有操作,并且系统没有机会使用其文本初始化onCreate()
s。如此长的TextView
方法向我表明了设计问题。我强烈建议将您的代码分成一个或多个类。例如,您可能想要创建一个onCreate()
类来表示游戏中用户的角色。这可以存储与角色相关的所有统计数据。此外,Hero
类可以代表怪物的统计数据。
答案 1 :(得分:1)
将其放在Integer.parseInt
之前。然后检查LogCat以查找text="", len=0
String str = textView(something).getText().toString();
Log.i("app", "text=\"" + str + "\", len=" + str.length);
textView(something) = Integer.parseInt(textView(something).getText().toString());