Java 使用Trimal返回带有注释@ColorInt android的颜色资源
我有两个相同功能的代码Java 使用Trimal返回带有注释@ColorInt android的颜色资源,java,android,annotations,ternary-operator,Java,Android,Annotations,Ternary Operator,我有两个相同功能的代码 代码1 @ColorInt int getColor(@ColorRes int id) { if (getActivity() == null) { return Color.BLACK; } else { return ContextCompat.getColor(getActivity(), id); } } 代码2 @ColorInt int getColor(@ColorRes int id) {
代码1
@ColorInt
int getColor(@ColorRes int id) {
if (getActivity() == null) {
return Color.BLACK;
} else {
return ContextCompat.getColor(getActivity(), id);
}
}
代码2
@ColorInt
int getColor(@ColorRes int id) {
return getActivity()==null?Color.BLACK:ContextCompat.getColor(getActivity(), id);
}
第一个代码段没有给出错误,但第二个代码段给出了错误应该传递解析的颜色而不是资源id,当我删除@ColorInt注释时,第二个代码工作正常,有人能解释一下为什么会发生这种情况。ContextCompat.getColor方法没有用
@ColorInt
注释。
所以Lint工具会出现这种错误。
是ContextCompat.getColor
的源代码
Lint工具在下面的代码中检查方法的注释
是相同的错误报告。
ContextCompat.getColor
方法未使用@ColorInt
注释。
所以Lint工具会出现这种错误。
是ContextCompat.getColor
的源代码
Lint工具在下面的代码中检查方法的注释