【Android】Error: Expected resource of type styleable [ResourceType]

本文链接:【Android】Error: Expected resource of type styleable [ResourceType] - 祝福的博客 - 博客频道 - CSDN.NET


错误提示

解决办法

参考链接



错误提示:

Error: Expected resource of type styleable [ResourceType]

这个错误在编译运行时候并不会出现,但是当需要编译打包的时候,就会爆出这个异常。

这个错误出现的位置位于自定义View中,代码如下:

TypedArray ta = mContext.obtainStyledAttributes(attrs);

     booleanhasBottomLine = ta.getBoolean(0,false);

     booleanhasTopLine = ta.getBoolean(1,false);

点击异常信息会定位到第三行,只有当 TypedArray 获取第二个属性以后数据时,才会出现此异常,ta.getBoolean(0, false) 这句则不会报错,其实这应该是一个警告,所以才会在调试的时候正常编译,但却在编译签名包的时候失败。


解决办法

解决办法就是在使用TypedArray的方法处,加上@SuppressWarnings("ResourceType"),这样即可过滤该警告,可以正常通过签名编译。例如:

@SuppressWarnings("ResourceType")

publicvoidinitView() {   

    TypedArray ta =  mContext.obtainStyledAttributes(attrs);

    booleanhasBottomLine = ta.getBoolean(0,false);

    booleanhasTopLine = ta.getBoolean(1,false);   

    ta.recycle();}


参考链接

http://stackoverflow.com/questions/26360954/obtainstyledattributes-annotated-with-styleableres-suppress-warnings

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容