条件陈述(请参阅说明)

时间:2011-09-22 16:56:59

标签: android

好的,我有三个条件。它看起来很简单,但是我无法按照我想要的方式工作,在我尝试解释时请耐心等待。

If(conditionA){
Play Sound 1}

If(conditionB) {
changedrawable ///(irrelevant)    

}

 If(conditionA && conditionB){
 Play sound 2 
}
    ////Unfortunately, since condition A is true, it plays sound 1 too, and I only want it to play sound 2

FWIW这些条件只是触摸屏上的坐标,我将它们设置为布尔值

Boolean conditionA;
conditionA = y > 0 && y < (0.2 * tY) && x > 0 && x < (0.1667 * tX) || y2 > 0
            && y2 < (0.2 * tY) && x2 > 0 && x2 < (0.1667 * tX);

ConditionA和ConditionB指的是触摸屏上的不同点。主要问题:当条件A和条件B都是真的时,我怎么能得到它,只播放声音2(而不是两个声音)?我在最后一天试图弄清楚我的头发。如果有解决方案或您需要更多详细信息,请告知我们。谢谢!

5 个答案:

答案 0 :(得分:1)

这可能不是最佳选择,但它很容易阅读:

if (conditionA && conditionB) {
  play sound 2
} else if (conditionA) {
  // Implies that conditionB == false
  play sound 1
} else if (conditionB) {
  change drawable
}

答案 1 :(得分:0)

怎么样:

if (conditionA && conditionB) {
  // play sound2
} else if (conditionA) {
  // play sound1
} else if (conditionB) {
  // change drawable
}

如果两个条件都不满足,它将运行条件的代码。如果他们都满意,那么它只会运行//play sound2

答案 2 :(得分:0)

只需将第三个选项作为第一个选项,然后使用else ifs,以防两个条件都不满足。

编辑/他说的话:)

答案 3 :(得分:0)

这可能不是最优雅的解决方案,但它应该有效:

if (conditionA && conditionB) {
  play sound 2
}
else {
  if (conditionA){
     play sound 1
  }
  if (conditionB) {
     change drawable
  }
}

答案 4 :(得分:0)

不应该是

if(conditionA && conditionB) {
    play sound 2
} else if(conditionA) {
    play sound 1
}
if(conditionB) {
    change drawable
}

如果要播放声音,你只需要其他声音。不是为了改变可绘制的。