1. 错误:
android.content.res.Resources$NotFoundException: String resource ID #0x14
2. 原因:
此问题一般发生在参数使用错误的时候,我遇到过的情况是因为Toast.makeText()或者是textView.setText()方法通常有两个重载,如:
Toast.makeText(Context context, CharSequence text, int duration)
Toast.makeText(Context context, int resId, int duration)
textView.setText(CharSequence text);
textView.setText(int resId);
有时候我们将int类型的值传递给上面的方法,理所当然的认为它会将这个值toast出来或者显示在textview。其实,当我们把int类型的值传递给上面的方法时,java编译器会认为这是一个资源id,编译器就会去寻找这个资源,然后因为找不到正确的resource,于是报错。
3. 解决办法:
如果要让这个值toast出来或者显示在textview,就要将int转化成String或者CharSequence。
最简单的方法:
在该int值后面加上+”“,进行强制类型转换为String。
方法二:
使用String.valueOf(int值)方法将int值转换成String
区别:
第一种方法会产生两个String对象,而第二种方法直接使用String类的静态方法,只产生一个对象