在学习Android课程后期自己根河跟着老师案列编写了代码,在Android SetText方法中出现Resources$NotFoundException: String resource ID #0x1,

也是查询了一些相关信息才明白SetText方法的使用注意事项:

发现问题出现在这个地方

user.getUid()是一个Int类型的数值;而TextView的setText方法如果需要放入int类型的数值是需要转换成String类型的,而java为我们提供了Int如何转化成String类型的三种方法:

   1.String.valueOf(int i)
   2.Integer.toString(int i)
   3.i+""; //i 为 int类型**

所以只需要把这段代码改为:

至于为什么直接给int类型会出现报错,这需要我们对SetText()方法有更深一步的了解:

SetText方法:

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

所以今后使用settext方法注意这一点就可以啦!!

参考博客:

https://blog.csdn.net/u011758031/article/details/48031715/