Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Trimal返回带有注释@ColorInt android的颜色资源_Java_Android_Annotations_Ternary Operator - Fatal编程技术网

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工具在下面的代码中检查方法的注释

是相同的错误报告