我制作了一个键盘应用程序,其中我使用退格图像来删除在edittext中输入的字符(禁用默认键盘)在ClickListener上实现的正常删除功能。但是如果用户长按按钮它应该顺利删除字符但不是所有的角色都是一次性的。
答案 0 :(得分:1)
您可以尝试onTouchListener并使用特定时间删除单个字符。
你可以尝试
final Handler handler = new Handler();
Runnable mLongPressed = new Runnable() {
public void run() {
//remove one char
handler.postDelayed(this, 200);
}
};
button.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
//remove on char
handler.postDelayed(mLongPressed, 200);
break;
case MotionEvent.ACTION_UP:
handler.removeCallbacks(mLongPressed);
break;
}
return true;
}
});
这个runnable run()代码将以200 ms的延迟执行。当按钮处于按下状态时,它将被执行。