这是因为 textview的settext方法,没能把int 识别到,而是当成了资源的int型id,去找resource了。
解决办法,就是用settext传递string类型的方法,传递的int变成一个string类型,变的方法是+“” 就ok。
=========
一般发生在参数 int resId 错误,你把String赋值给int的resId,所以编译器找不到正确的resource于是报错。
例如:
- int i = 2222;
- tv.setText(i);
这样就会报这个异常,起初我以为setText()方法会自动将int类型的数据转换为String,其实不会。好像他把这个int类型的数据当成string.xml文件中的资源了,但是值为i的这个资源找不到,所以抛出这个异常。
解决方法:
将i转换为String再setText()。
http://blog.sina.com.cn/s/blog_5e58565701012ox7.html
android.content.res.Resources$NotFoundException: String resource ID #0x1
(2012-05-01 17:25:50)分类: android错误 |
之前忘了记录这个错误,今天又遇到了。唉,人不能纵容自己犯懒,遂记录之。
错误:android.content.res.Resources$NotFoundException: String resource ID #0x1
原因:一般发生在参数 int resId 错误,你把String赋值给int的resId,所以编译器找不到正确的resource于是报错。
最简单的例子,检查一下你的Toast.makeText()啊textView.setText啊之类的函数,这种函数通常有几个重载,如:
textView.setText(CharSequence text);
textView.setText(int resId);
......
如果不小心将一个int值传给了它,那它不会显示该int值,而是跑到工程下去找一个对应的resource的id,当然是找不到的,于是就报错啦。
解决办法:
如果要显示该int值,就要将int转化成String或者CharSequence,百度上很多办法。
个人比较喜欢这么干:在该int值后面+"",强制转为String。简单易用。╮(╯_╰)╭