我希望我的程式只有在所有按鈕都被釋放時才發送 0。當我釋放按鈕時,代碼現在發送 0,但如果我按住按鈕并釋放其中一個,它將發送 0,但我不希望它這樣做,我只希望在所有按鈕都被釋放時。謝謝。
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
switch (view.getId()){
case R.id.commend1B:
if (motionEvent.getAction() == ACTION_DOWN) {
commend1BHold = true;
Log.i("sending", "sending 1");
bluetooth.write("1#");
} else if (motionEvent.getAction() == ACTION_UP){
Log.i("sending", "sending 0");
bluetooth.write("0#");
}
break;
case R.id.commend2B:
if (motionEvent.getAction() == ACTION_DOWN) {
Log.i("sending", "sending 2");
bluetooth.write("2#");
} else if (motionEvent.getAction() == ACTION_UP){
Log.i("sending", "sending 0");
bluetooth.write("0#");
}
break;
case R.id.commend3B:
if (motionEvent.getAction() == ACTION_DOWN) {
Log.i("sending", "sending 3");
bluetooth.write("3#");
} else if (motionEvent.getAction() == ACTION_UP){
Log.i("sending", "sending 0");
bluetooth.write("0#");
}
break;
case R.id.commend4B:
if (motionEvent.getAction() == ACTION_DOWN) {
Log.i("sending", "sending 4");
bluetooth.write("4#");
} else if (motionEvent.getAction() == ACTION_UP){
Log.i("sending", "sending 0");
bluetooth.write("0#");
}
break;
default:
throw new IllegalStateException("Unexpected value: " view.getId());
}
return false;
}
uj5u.com熱心網友回復:
每次釋放按鈕(任何按鈕)時,呼叫一個方法來檢查是否釋放了所有按鈕。如果是,請發送0.
還可以對按下的按鈕進行計數:每次按下按鈕時,計數器都會增加,反之亦然。如果計數器為零,則發送0.
uj5u.com熱心網友回復:
做了這樣的事情:
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
switch (view.getId()){
case R.id.commend1B:
if (motionEvent.getAction() == ACTION_DOWN) {
commend1BHold = true;
Log.i("sending", "sending 1");
bluetooth.write("1#");
} else if (motionEvent.getAction() == ACTION_UP){
commend1BHold = false;
send0();
}
break;
case R.id.commend2B:
if (motionEvent.getAction() == ACTION_DOWN) {
commend2BHold = true;
Log.i("sending", "sending 2");
bluetooth.write("2#");
} else if (motionEvent.getAction() == ACTION_UP){
commend2BHold = false;
send0();
}
break;
case R.id.commend3B:
if (motionEvent.getAction() == ACTION_DOWN) {
commend3BHold = true;
Log.i("sending", "sending 3");
bluetooth.write("3#");
} else if (motionEvent.getAction() == ACTION_UP){
commend3BHold = false;
send0();
}
break;
case R.id.commend4B:
if (motionEvent.getAction() == ACTION_DOWN) {
commend4BHold = true;
Log.i("sending", "sending 4");
bluetooth.write("4#");
} else if (motionEvent.getAction() == ACTION_UP){
commend4BHold = false;
send0();
}
break;
default:
throw new IllegalStateException("Unexpected value: " view.getId());
}
return false;
}
public void send0(){
if(!commend1BHold &&!commend2BHold && !commend3BHold && !commend4BHold){
Log.i("sending", "sending 0");
bluetooth.write("0#");
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/454445.html
下一篇:將影像制作為帶有鏈接的按鈕
