gpt4 book ai didi

java - 解析颜色 VS 解析 int

转载 作者:行者123 更新时间:2023-12-01 22:44:09 25 4
gpt4 key购买 nike

我在随机更改背景颜色时遇到问题:
首先,我尝试在 Colorclass 中使用 parseColor:

public class Colors {

public String[] colors = {
"#39add1", // light blue
"#3079ab", // dark blue
"#c25975" // mauve
};

public int getcolor() {
Random randomGenerator = new Random();
String color = "";

int randomNumber = randomGenerator.nextInt(3);

color = colors[randomNumber];
int colorAsInt = Color.parseColor(color);
return colorAsInt;
}
}

在 Activity 类中:

View.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View view) {
int color = mColors.getcolor();
relativeLayout.setBackgroundColor(color);
}
};

它工作完美:
但是当我尝试使用 String 作为 getcolor 的返回类型并在 Activity 类中使用 parse int 时,当我运行应用程序时,它给了我一个错误:不幸的是应用程序已停止。

颜色类别:

public String getcolor() {
Random randomGenerator = new Random();
String color = "";

int randomNumber = randomGenerator.nextInt(3);

color = colors[randomNumber];
return color;
}

以及 Activity 类别:

 View.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View view) {
String color = mColors.getcolor();
relativeLayout.setBackgroundColor(Integer.parseInt(color));
}
};

为什么会出现这个问题?

最佳答案

Integer.parseInt(color) 无法解析字符串,因为它不是整数字符串"#39add1"
您必须像第一个函数一样使用 Color.parseColor(color)

relativeLayout.setBackgroundColor(Color.parseColor(color));

关于java - 解析颜色 VS 解析 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25590295/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com