首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解析颜色与解析int

解析颜色与解析int
EN

Stack Overflow用户
提问于 2014-08-31 08:37:50
回答 2查看 4.7K关注 0票数 0

我有一个问题,改变背景颜色随机:

首先,我尝试在着色类中使用parseColor:

代码语言:javascript
复制
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;
      }
} 

在活动课上:

代码语言:javascript
复制
View.OnClickListener listener = new View.OnClickListener() {
        @Override
        public void onClick(View view) {
              int color = mColors.getcolor();
              relativeLayout.setBackgroundColor(color);
        }
};

它工作得很完美:

但是,当我试图在活动类中使用String来返回getcolor类型和使用parse时,当我运行该应用程序时,它会给我一个错误:不幸的是,app已经停止了。

颜色类:

代码语言:javascript
复制
public String getcolor() {
    Random randomGenerator = new Random();
    String color = "";

    int randomNumber = randomGenerator.nextInt(3);

    color = colors[randomNumber];
    return color;
}

而活动课:

代码语言:javascript
复制
 View.OnClickListener listener = new View.OnClickListener() {
         @Override
         public void onClick(View view) {
               String color = mColors.getcolor();
               relativeLayout.setBackgroundColor(Integer.parseInt(color));
        }
 };

为什么会出现这样的问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-31 08:46:35

Integer.parseInt(color)不能解析字符串,因为它不是整数字符串"#39add1"

您必须像使用第一个函数一样使用Color.parseColor(color)

代码语言:javascript
复制
relativeLayout.setBackgroundColor(Color.parseColor(color));
票数 3
EN

Stack Overflow用户

发布于 2014-08-31 08:47:03

将颜色定义更改为

代码语言:javascript
复制
public int[] colors = {
    0x39add1, // light blue
    0x3079ab, // dark blue
    0xc25975 // mauve
};

并使用

代码语言:javascript
复制
setBackgroundColor(colors[0]);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25590295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档