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

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

        break;

    }

どちらの場合も重複エラーが表示されます..修正方法は?

4

1 に答える 1

1

ビット単位で & 演算子を使用しますか?

これは実際に 2 つの異なる値を保証するものではありません。

たとえば、ACTION_DOWN には、両方のケースで ID をマスクする値 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;

}

お役に立てれば。

于 2013-11-01T06:28:31.813 に答える