1

ここに私がフォワードとリバースに使用するコードがあります

// Drive forward

 forward_button.setOnTouchListener(new View.OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if ((event.getAction() == MotionEvent.ACTION_DOWN) | (event.getAction() == MotionEvent.ACTION_MOVE)) {
                forward_button.setPressed(true);
                Arduino = (byte) (Arduino | 16);
                write(Arduino);
                return true;

            }else if (event.getAction() == MotionEvent.ACTION_UP) {
                forward_button.setPressed(false);
                Arduino = (byte) (Arduino & 236);
                write(Arduino);
                return true;
            }
            forward_button.setPressed(false);
            return false;
        }
    });

   // Back up

 reverse_button.setOnTouchListener(new View.OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if ((event.getAction() == MotionEvent.ACTION_DOWN) | (event.getAction() == MotionEvent.ACTION_MOVE)) {
                reverse_button.setPressed(true);
                Arduino = (byte) (Arduino | 32);
                write(Arduino);
                return true;

            }else if (event.getAction() == MotionEvent.ACTION_UP) {
                reverse_button.setPressed(false);
                Arduino = (byte) (Arduino & 220);
                write(Arduino);
                return true;
            }
            reverse_button.setPressed(false);
            return false;
        }
    });

次のような左右の機能に同じ方法を使用することを考えています。

   left_button.setOnTouchListener(new View.OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if ((event.getAction() == MotionEvent.ACTION_DOWN) | (event.getAction() == MotionEvent.ACTION_MOVE)) {
                left_button.setPressed(true);
                Arduino = (byte) (Arduino | 8);
                write(Arduino);
                return true;

            }else if (event.getAction() == MotionEvent.ACTION_UP) {
                left_button.setPressed(false);
                Arduino = (byte) (Arduino & 244);
                write(Arduino);
                return true;
            }
            left_button.setPressed(false);
            return false;
        }
    });

これはそれを行う1つの方法ですか??

4

1 に答える 1

0
   mLButton = (Button) findViewById(R.id.button_l);
        mLButton.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                // Send a message using content of the edit text widget
                String message = "D," + left + "," + stop + "\n";
                sendMessage(message);
            }
        });

        });
        mRButton = (Button) findViewById(R.id.button_r);
        mRButton.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                // Send a message using content of the edit text widget
                String message = "D," + right + "," + stop + "\r\n";
                sendMessage(message);
            }

ここに一例があります。

于 2012-12-28T01:56:45.347 に答える