我有一堆旋转器,其背景颜色需要长时间点击TOGGLE。 背景颜色可以是绿色或红色。 如果是红色,则变为绿色,反之亦然。
我已经注册了一个长时间点击监听器,但在onLongClick函数中,我不知道如何获取微调器的当前背景颜色,所以我可以比较它并更改它。
我该怎么做?
答案 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
像魅力一样工作^ _ ^