我的 Android 程序中有一个简单的 ImageButton
,单击它时,会在 TextView
中附加一个“0”。当长按此按钮时,它应该在 TextView
中附加“+”。该程序运行良好,但我遇到了典型的按键弹跳效果。当我长按按钮时,它会附加一个“+”,但当我松开按钮时,它也会附加一个“0”。长按结束时,Android 似乎注册了第二次单击。我怎样才能消除这个?这是我正在做的:
ImageButton button0=(ImageButton)V.findViewById(R.id.imageButtonzero);
button0.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
enterNumber.append("0");
}
});
button0.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
enterNumber.append("+");
return false;
}
});
感谢您的帮助!
最佳答案
您需要在 OnLongClickListener
中返回 true
,以通知其他监听器该事件已被消耗并且不需要进一步采取行动:
button0.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
enterNumber.append("+");
return true;
}
});
信息来源:Android javadoc
关于android - Android 按钮的软件去抖动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30670861/