Android学习遇到的问题(TextView.getText标红,新手常见问题)

Android学习遇到的问题:

异常:Cannot resolve method 'valueOf(java.lang CharSequence)

问题描述

在这里插入图片描述
图中的语句是一个小游戏程序的一部分,其中myScore是一个用于记录玩家得分的TextView,addScore,表示玩家做某操作后的得分。

期望的结果:
计算得分并暂时存放在addScore变量中,刷新myScore的文本内容,使它显示当期的分数。

问题:
出错,myScore.getText()标红并提示异常,Cannot resolve method 'valueOf(java.lang CharSequence)

问题原因猜测

1.网上查阅资料后并未找到问题原因。
测试代码:
Android学习遇到的问题(TextView.getText标红,新手常见问题)_第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)

你可能感兴趣的:(Android新手误区)