android 软删除光标字符,android - 当TextWatcher存在时退格/删除时按EditText光标位置 - SO中文参考 - www.soinside.com...

我有EditText,它有自定义TextWatcher。当用户手动移动光标位置并删除某些字符时,它总是转到结束位置。按删除/退格时如何保持光标的相同位置?

private class CTextWatcher implements TextWatcher {

private final EditText editText;

CTextWatcher(EditText editText, String prefix) {

this.editText = editText;

this.prefix = prefix;

}

@Override

public void beforeTextChanged(CharSequence s, int start, int count, int after) {

// do nothing

}

@Override

public void onTextChanged(CharSequence s, int start, int before, int count) {

// do nothing

}

@Override

public void afterTextChanged(Editable editable) {

editText.removeTextChangedListener(this); // Remove listener

editText.setText(formattedString);

editText.setSelection(editText.getText().length());

editText.addTextChangedListener(this); // Add back the listener

}

例如,我有text = 1234和用户在3之前移动光标并按回来它将给txt=134然后光标应该保持在2位置,当前代码它总是结束。即4点以后。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值