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

您确定要按位并使用 & 运算符吗?

这实际上并不能保证两个不同的值。

例如,ACTION_DOWN 可能具有值 1 的位,这些位在这两种情况下都会屏蔽 id。

尝试重新思考逻辑。

你可以这样做:

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 回答