Android学习遇到的问题:
异常:Cannot resolve method 'valueOf(java.lang CharSequence)
问题描述
图中的语句是一个小游戏程序的一部分,其中myScore是一个用于记录玩家得分的TextView,addScore,表示玩家做某操作后的得分。
期望的结果:
计算得分并暂时存放在addScore变量中,刷新myScore的文本内容,使它显示当期的分数。
问题:
出错,myScore.getText()标红并提示异常,Cannot resolve method 'valueOf(java.lang CharSequence)
问题原因猜测
1.网上查阅资料后并未找到问题原因。
测试代码:
猜测:myScore.getText()获取的内容并非String类型,所以出错。
解决方案
将myScore.getText()改为myScore.getText().toString()即可
问题原因分析
Android的组件的getText()方法与java的JFrame,C#等的组件的getText()不同,其返回类型不是String,而是CharSequence。
它是一个描述字符串结构的接口,String,StringBuffer和StirngBuilder是其常见的三个子类。其默认的赋值为"",没有为null的时候。
.
Cannot resolve method 'valueOf(java.lang CharSequence)翻译为:
无法解析方法:valueOf(java.lang CharSequence)