我的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;
}
});
感谢您的帮助!
答案 0 :(得分:1)
您需要在true
中返回OnLongClickListener
,以通知其他听众该事件已被消耗,并且不需要在下一行采取行动:
button0.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
enterNumber.append("+");
return true;
}
});
信息来源:Android javadoc