报错信息:
no package identifier when getting value for resource number 0x00000005
报错位置:
EditText result = (EditText) this.findViewById(R.id.result);
result.setText(data.getIntExtra("three", 0));
原因分析:
主要原因是EditText的setText方法把传入的int类型的当做资源Id到项目中查询资源,而资源中却找不到相应的数值,就会报NotFoundException的错误。
在Android中利用id来索引资源的地方很多(如:Toast.makeText()等),所以如果不小心往方法中传入int类型的参数,虽然编译时IDE不会报错,但是运行时,很容易因找不到对应的资源而报错。
解决办法:
所以如果要在EditText中显示int类型的数据,应提前转换成字符串类型。转换方法很多,最简单的就是在int类型数据后加上一个空字符串,如:
result .setTextdata.getIntExtra("three", 0)+"");