Android中TextView的SetText()方法注意事项

编程入门 行业动态 更新时间:2024-10-23 23:25:49

Android中TextView的SetText()方法<a href=https://www.elefans.com/category/jswz/34/1768820.html style=注意事项"/>

Android中TextView的SetText()方法注意事项

忙活了一个下午才研究出来的。。。。


学习Android的Intent时候跟着Mars老师做简单的乘法程序,在第一个activity输入两个正整数,通过一个intent跳转到第二个intent,在第二个activity中使用一个TextView的setText()方法显示乘法计算的结果,很简单是吧。


run as android application之后,第一个activity没有问题,可是一旦点击了计算的button,立马崩溃(unfortunately,...has stopped!)


DDMS里面报错:

08-27 06:16:08.517: W/EGL_genymotion(1239): eglSurfaceAttrib not implemented


谷歌查了下,主要是Androidmanifest里面没有注册或者是genymotion自身的问题,有人说使用自带模拟器,勾选use host gpu就可以,试之,继续错误。无奈掏出平板调试,继续错。。。。。基本上一个下午就在找这个错误,时间都浪费了。


这个时候突然在DDMS里面看到一段话:

No package identifier when getting value for resource number 0x00000002

终于给我查到了,Android异常,

原来第二个activity里面的TextView在调用setText()方法的时候出问题了

更改之前:

txtresult.setText(resultnum);;

更改之后:

txtresult.setText(String.valueOf(resultnum));;

原理我直接照搬别人的了:

主要原因是TextView的setText方法把传入的int类型的percent当做资源Id到项目中查询资源,而资源中却找不到相应的数值,就会报NotFoundException的错误。
在Android中利用id来索引资源的地方很多(如:Toast.makeText()等),所以如果不小心往方法中传入int类型的参数,虽然编译时IDE不会报错,但是运行时,很容易因找不到对应的资源而报错。


解决办法:
所以如果要在TextView中显示int类型的数据,应提前转换成字符串类型。如:

完事。








更多推荐

Android中TextView的SetText()方法注意事项

本文发布于:2023-06-13 09:38:53,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/679067.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:注意事项   方法   Android   TextView   SetText

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!