Android按钮的软件去抖动

时间:2015-06-05 15:57:07

标签: android android-button keyboard-events bounce

我的Android程序中有一个简单的ImageButton,点击后会附加一个" 0"在TextView中。长按此按钮时,应该附加" +"在那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;
            }
        });

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您需要在true中返回OnLongClickListener,以通知其他听众该事件已被消耗,并且不需要在下一行采取行动:

button0.setOnLongClickListener(new View.OnLongClickListener() {

    @Override
    public boolean onLongClick(View v) {
        enterNumber.append("+");
        return true;
    }
});

信息来源:Android javadoc