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

来源:互联网 发布:php header image 编辑:程序博客网 时间:2024/06/18 11:30
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;
}

0 0