private boolean onTouched =
false;
@Override
public boolean
onTouch(View v, MotionEvent
event) {
switch (v.getId()) {
case R.id.iv_plus:
if (
event.getAction() == MotionEvent.ACTION_BUTTON_PRESS ||
event.getAction() == MotionEvent.ACTION_DOWN||
event.getAction() == MotionEvent.ACTION_HOVER_ENTER||
event.getAction() == MotionEvent.ACTION_MASK||
event.getAction() == MotionEvent.ACTION_POINTER_DOWN||
event.getAction() == MotionEvent.ACTION_MOVE) {
onTouched =
true;
onLongClicked =
true;
}
else {
onTouched =
false;
onLongClicked =
false;
}
break;
case R.id.iv_minus:
if (
event.getAction() == MotionEvent.ACTION_BUTTON_PRESS ||
event.getAction() == MotionEvent.ACTION_DOWN||
event.getAction() == MotionEvent.ACTION_HOVER_ENTER||
event.getAction() == MotionEvent.ACTION_MASK||
event.getAction() == MotionEvent.ACTION_POINTER_DOWN||
event.getAction() == MotionEvent.ACTION_MOVE) {
onTouched =
true;
onLongClicked =
true;
}
else {
onTouched =
false;
onLongClicked =
false;
}
break;
}
return false;
}
private boolean onLongClicked = false; @Override public boolean onLongClick(View v) { switch (v.getId()) { case R.id.iv_plus: Thread t = new Thread() { public void run() { while (onLongClicked) { try { Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
changePrice1(true);
handler.sendEmptyMessage(0x01); //新开启的线程中不能修改UI界面,通过handler与UI线程交互
}
}
};
t.start();
break;
case R.id.iv_minus:
Thread t2 = new Thread() {
public void run() {
while (onLongClicked) {
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
changePrice1(false);
handler.sendEmptyMessage(0x01); //新开启的线程中不能修改UI界面,通过handler与UI线程交互
}
}
};
t2.start();
break;
default:
break;
}
// 这里返回true表示不触发onclick事件 return true; }
转载请注明原文地址: https://ju.6miu.com/read-2820.html