我有一个方法,在参数列表上有一个参数(接受一个颜色类型),数据类型是int型
但是我的方法内部,这个int型根据传入的一个boolean类型做了判断,
所以它
* 既可以是`@ColorRes` (颜色代码的资源ID,int类型)
* 也可以是`@ColorInt` (颜色代码在Color类中的成员变量,int类型)
但是方法参数上又不能写(@ColorRes|@ColorInt)
同样的参数列表也不能用方法重载来搞定。
所以就想问一下有没有办法可以让两个注解同时生效的?
我有一个方法,在参数列表上有一个参数(接受一个颜色类型),数据类型是int型
但是我的方法内部,这个int型根据传入的一个boolean类型做了判断,
所以它
* 既可以是`@ColorRes` (颜色代码的资源ID,int类型)
* 也可以是`@ColorInt` (颜色代码在Color类中的成员变量,int类型)
但是方法参数上又不能写(@ColorRes|@ColorInt)
同样的参数列表也不能用方法重载来搞定。
所以就想问一下有没有办法可以让两个注解同时生效的?
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
多注解代码如下:
这么写是有问题的. 对IDE来说, 这是有歧义的, 你又要是Color色值, 又要是Color资源引用, 会有这样的Int值吗?
本身这类注解只是IDE辅助用的, 即编译时就发现问题, 打开
Inspections
可以禁用这类Lint, 如下图:为什么不参考Android源码的方式来, 而非得定义一个让调用者抓狂的方法, 源码如下: