Toast和TextView可能会出现的问题

Toast对象可能抛出的Bug

  • Toast对象提供了两个makeText方法,如下
1
2
3
4
5
//此方法传入的是字符串序列
Toast.makeText(Context context, CharSequence text, int duration);

//此方法传入的是资源id
Toast.makeText(Context context, int resId, int duration);
  • 有一种特殊情况情况,即要传入的值是int型的,而直接传入系统默认当做是资源id来使用,则会报出如下Bug
1
Caused by: android.content.res.Resources$NotFoundException: String resource ID #0x8
  • 正确解决方式是在所需传入的int型参数后加入空字符串” “,或者前面加入字符串如”传入的值为:”

TextView对象可能抛出的Bug

  • TextView对象也会出现上面的那种情况
1
2
3
4
5
6
7
TextView tv = findViewById(R.id.tv);

//此方法传入的是字符串序列
tv.setText(CharSequence text);

//此方法传入的是资源id
tv.setText(int resId)
  • 解决方式和上面一样,传入int型参数时加入字符串即可