自定义Backspace按钮功能android用于删除chars onLongPress

时间:2018-03-30 06:52:57

标签: android keyboard

我制作了一个键盘应用程序,其中我使用退格图像来删除在edittext中输入的字符(禁用默认键盘)在ClickListener上实现的正常删除功能。但是如果用户长按按钮它应该顺利删除字符但不是所有的角色都是一次性的。

1 个答案:

答案 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的延迟执行。当按钮处于按下状态时,它将被执行。