在android中获取微调器的背景颜色

时间:2014-02-10 00:11:21

标签: android spinner onlongclicklistener

我有一堆旋转器,其背景颜色需要长时间点击TOGGLE。 背景颜色可以是绿色或红色。 如果是红色,则变为绿色,反之亦然。

我已经注册了一个长时间点击监听器,但在onLongClick函数中,我不知道如何获取微调器的当前背景颜色,所以我可以比较它并更改它。

我该怎么做?

2 个答案:

答案 0 :(得分:0)

使用布尔值

public boolean isRed;
public boolean isGreen;

然后一旦他们点击它只是将那些设置为true或false然后使用像

这样的逻辑语句
if(isRed) {
  //CHANGE TO GREEN
  isRed = false;
  isGreen = true;
} else {
  //CHANGE TO RED
  isGreen = false;
  isRed = true;
}

您可以在onClick上使用开关

public void onClick(View view) {
    switch(view.getId()){
        case R.id.spin1:
        case R.id.spin2:
        case R.id.spin3:
        case R.id.spin4:
        case R.id.spin5:
        case R.id.spin6:
            if(isRed) {
                //CHANGE TO GREEN
                isRed = false;
                isGreen = true;
            } else {
            //CHANGE TO RED
                isRed = true;
                isGreen = false;
            }
            break;
      }
}

答案 1 :(得分:0)

我明白了,伙计们。 我使用setTag和getTag作为:

spin.setBackgroundColor(Color.GREEN);
spin.setTag(Color.GREEN);

然后,

if((Integer) spin.getTag() == Color.RED)
{
    //again change color to green and set tag like above
}
else //change color to red and set tag

像魅力一样工作^ _ ^