No package identifier when getting value for resource num 0x00000000 【安卓资源找不到】

本文解决了Android应用中TextView使用setText方法时报错的问题。错误原因为整数被误作为资源ID处理。通过将整数值转换为字符串,成功解决了此问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

安卓应用中报错:No package identifier when getting value for resource num 0x00000000



TextView quantityView = (TextView)convertView.findViewById(R.id.uploadinfo_list_item_uploadtotal);
System.out.println("quantityView: "+quantityView);
quantityView.setText(mq.getQuantity()); //该行报错

报错的地方为: quantityView.setText(mq.getQuantity()) 这一句,注意,没有报NullPointer,quantityView这个变量本身没问题。那问题就出在 mq.getQuantity() 这里。

那就奇怪了,不就是设置一下TextView的文本内容吗?和引用资源有啥关系?

谜底解开,这里就是安卓平台的特色之一了:资源引用。

setText方法有多个实现,例如:

setText( CharSequence  text ),文本

setText( int id ),数字,也就是id

好了,就是这第二种情况,mq.getQuantity()返回的是一个数量,是整数,所以setText()方法就理解为把这个整数当成一个id去引用它所对应的字符串资源,所以当然是找不到的。

到了这里,解决方法也就呼之欲出了,就是把mq.getQuantity()转换成字符串即可。

quantityView.setText(String.valueOf(mq.getQuantity()));



问题解决!用整数id引用字符串资源,安卓特色之一,要记住。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小鹰信息技术服务部

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值