android — повторяющаяся ошибка регистра при переключении регистра с оператором и (& amp;)

switch (v.getId() & event.getAction()) {
case R.id.report_stype & MotionEvent.ACTION_DOWN:
spinnertype();

break;
case R.id.report_sapprove & MotionEvent.ACTION_DOWN:

break;

}

в обоих случаях выявляется повторяющаяся ошибка .. как исправить?

0

Решение

Вы уверены, что хотите поразрядно — и используя & оператор?

Это не гарантирует двух разных значений на самом деле.

Например, ACTION_DOWN может иметь те биты, имеющие значение 1, которые маскируют идентификаторы в обоих ваших случаях.

Попробуйте переосмыслить логику.

Вы можете сделать что-то вроде этого:

switch (v.getId() ) {
case R.id.report_stype:
if( event.getAction() == MotionEvent.ACTION_DOWN)
spinnertype();

break;
case R.id.report_sapprove:
if( & event.getAction() ==  MotionEvent.ACTION_DOWN)
// do whatever

break;

}

Надеюсь это поможет.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]