【发布时间】:2014-08-31 08:37:50
【问题描述】:
随机更改背景颜色时遇到问题:
首先,我尝试在 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 的返回类型并在活动类中使用 parse int 时,当我运行应用程序时,它给了我一个错误:不幸的是应用程序已停止。
颜色类:
public String getcolor() {
Random randomGenerator = new Random();
String color = "";
int randomNumber = randomGenerator.nextInt(3);
color = colors[randomNumber];
return color;
}
还有活动类:
View.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View view) {
String color = mColors.getcolor();
relativeLayout.setBackgroundColor(Integer.parseInt(color));
}
};
为什么会出现这个问题?
【问题讨论】:
-
你需要查看logcat来确定崩溃的原因。