2013-02-24 2 views
3

Можно ли использовать инструкцию OR в структуре переключателя/корпуса? Предположим, я хочу сделать то же самое, нажав на два разных элемента.Или заявление в коммутаторе/корпусе?

Я попытался

(case R.id.bOne || case R.id.tvOne): 

и

case (R.id.bOne || R.id.tvOne): 

Но никто из них не похоже на работу ..

ответ

16

Это будет работать:

case R.id.bOne: 
case R.id.tvOne: 
    // do your stuff 
+0

Черт, это просто? :) Спасибо чувак! Я соглашусь, если прошло время :) –

+0

@MatthiasVanb у вас есть два ответа, оба из которых верны. Пожалуйста, примите одно. – mjshaw

3

Попробуйте это:

switch(id){ 
    case R.id.bOne: 
    case R.id.tvOne: 
     // do your stuff here 
     break; 
    case R.id.x: 
     // do your stuff here 
     break; 
    default: 
     // do your stuff here 
} 
+0

Да, это работает! –

1

Это невозможно, потому что (R.id.bOne || R.id.tvOne) возвращает логическое значение, а переключатель не работает на логическом. Если вы хотите, чтобы ваш код выполнял одну и ту же задачу для нескольких случаев, вы можете попробовать использовать инструкции if.

Смежные вопросы