长按按钮让EditText中的数字递增

    xiaoxiao2021-03-25  161

    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

    最新回复(0)