Android处理优先级

时间:2015-02-15 09:22:44

标签: java android

我正在使用android eclipse进行编程。 我将使用这个基本计算来适应我想要发生的事情。

下面: 我有两个按钮加减。如果我按添加它显然会调用方法添加。 但我的问题是。如果我一直按下添加按钮。它会不断添加多次 如果我同时点击2个按钮,它也会添加和减去。我想要的是那个 如果我同时点击两个按钮,那么首先执行添加按钮的优先级 减号按钮不会发送数据。

Add(){
    a = b + c;
}
Minus(){
    a = b - c;
}

public void add(View view){
      Add();    
}

public void subtract(View view){
      Minus();
}

2 个答案:

答案 0 :(得分:0)

只需在button_minus.setClickable(false);方法中设置Add即可 button_add.setClickable(false);方法中的Minus。然后启用它们。

答案 1 :(得分:0)

尝试:

private boolean isAddButtonPressed;

private void setListener(){
    buttonAdd.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if(event.getAction() == MotionEvent.ACTION_DOWN)
                isAddButtonPressed = true;
            else
                isAddButtonPressed = false;
            return false;
        }
    });
}

public void add(View view){
   doMath(true);
}

public void subtract(View view){
    if(!isAddButtonPressed)
        doMath(false);
}

// "synchronized" means that this method can ran only one time at a time
private synchronized void doMath(boolean isAdd) {
    if(isAdd) {
        Add();
    } else {
        Minus();
    }
}