一边看答案here ,我在线上遇到了问题:
TypedArray ta = obtainStyledAttributes(R.style.MyCustomStyle, attrs);
Android Studio 似乎不允许我在没有收到警告的情况下传入不是来自 R.styleable
资源的 int。
它告诉我它需要一个样式类型的资源,我假设这意味着我正在调用的代码已经用 @StyleableRes annotation 注释了
读取 R.style.{x} 中定义的值的最佳做法是什么?链接帖子上接受的答案有效并编译,但我不知道如何抑制警告。既然有警告,打压安全吗?如果是,怎么办?
最佳答案
我认为抑制这种情况的正确方法是:
@SuppressWarnings("ResourceType")
当我按下 Alt-Enter 以提出警告修复并选择检查“常量和资源类型不匹配”选项> 抑制类时,我得到了这个(附截图) .
它对我有用。
此检查的 ID 可能已更改,因为您编写了所引用的任何代码;我简要地浏览了提交日志,但找不到对它的引用。
关于java - 获取带有@StyleableRes 注释的StyledAttributes。抑制警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26360954/