如何连续删除键盘退格键上的字符长按android

问题描述 投票:1回答:1

通常我们看到当我们在android中的软键盘上保持BackSpace(删除)键时,它会继续删除EditText中的字符,直到它变空。

但在我的情况下,当我在软键盘上按住退格键时,它只删除一个字符。我不明白如何连续删除字符。

请帮忙

android android-edittext android-keypad
1个回答
1
投票

对不起,迟到的回复,但可能下面的代码可以帮助你

llRemoveOne.setOnTouchListener(this);

@Override
public boolean onTouch(View v, MotionEvent event) {
    if(v.getId() == R.id.llRemoveOne){
        Log.e("event",""+event.getAction());
        int currentPos = etMsg.getSelectionStart();
        if (currentPos > 0) {
            etMsg.setText(etMsg.getText().delete(currentPos - 1, currentPos));
            etMsg.setSelection(currentPos - 1);
        }
    }
    return true;
}

在上面的代码而不是把逻辑放在onclick中,我已经在ontouch内部进行了操作,以便代码将被执行,直到用户释放该键,这将导致逐个删除单个字符

© www.soinside.com 2019 - 2024. All rights reserved.