【发布时间】:2017-11-30 16:52:02
【问题描述】:
这是我将字符串转换为颜色的代码:
public Color prepareColour(String str) {
str.replace("#", "");
float r = Float.valueOf(str.substring(0,1));
float g = Float.valueOf(str.substring(2,3));
float b = Float.valueOf(str.substring(4,5));
Color color = Color.valueOf(r,g,b);
return color;
}
我收到以下调试错误:
错误:(16, 23) 错误:Color 类中的构造函数 Color 不能应用于给定类型; 必需:无参数 发现:浮动,浮动,浮动 原因:实际参数列表和形式参数列表的长度不同
但是,从 Android Studio 编译之前的建议是:
调用需要 API 级别 26(当前最低为 17)......
我看到 2011 年的答案支持这种创建颜色的方式,所以它肯定适用于 API 17,不需要 26。
我已尝试清理和重建项目,并将str.substring 替换为实际值,但没有任何变化。
为什么代码无法编译?
【问题讨论】:
-
你能提供一个你正在解析的示例字符串吗?
-
淹没,它不编译。我已将 str.substring() 替换为“FF”,它是相同的
-
我能找到的唯一
Color.valueOf(?)方法是 JavaFX 中的方法。如果是这样,只需使用Color.valueOf(someHexString),它应该可以正常工作
标签: java android android-api-levels