我正在使用android eclipse进行编程。 我将使用这个基本计算来适应我想要发生的事情。
下面: 我有两个按钮加减。如果我按添加它显然会调用方法添加。 但我的问题是。如果我一直按下添加按钮。它会不断添加多次 如果我同时点击2个按钮,它也会添加和减去。我想要的是那个 如果我同时点击两个按钮,那么首先执行添加按钮的优先级 减号按钮不会发送数据。
Add(){
a = b + c;
}
Minus(){
a = b - c;
}
public void add(View view){
Add();
}
public void subtract(View view){
Minus();
}
答案 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();
}
}