
如果我写下面的代码:
TextVIEw textVIEw = new TextVIEw(this);textVIEw.setID(1);
1作为ID不工作,给我一个警告,如:
它不符合以下价值观:
textVIEw.setID(0+1); // ValIDtextVIEw.setID(var++); // ValID even var=0
但无效
textVIEw.setID(1); // InvalIDe
有人知道吗?任何人都可以解释这件事吗
解决方法 此警告由 android lint生成.它检查您是否使用正确类型的ID作为标识符.此功能的签名是:public voID setID(@IDRes int ID)
所以,lint检查你使用的是@IDRes类型的ID(见IdRes annotation),而不是@ColorRes或@StringRes(它检查你是否使用了类R.ID中的常量)
通过使用像0 1或var(BTW,它的结果实际上是0而不是1)这样的表达式,你阻碍了lint来推断参数类型.
总结以上是内存溢出为你收集整理的Android:以编程方式setId提供警告类型为id的预期资源全部内容,希望文章能够帮你解决Android:以编程方式setId提供警告类型为id的预期资源所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)