gpt4 book ai didi

android - 在文本更改监听器上添加破折号时无法从 EditText 字段中删除文本

转载 作者:行者123 更新时间:2023-11-30 04:54:03 27 4
gpt4 key购买 nike

当文本长度为 3 或 7 时,我在 edittext 中附加“-”。

以下是我的代码。

        @Override
public void afterTextChanged(Editable editable) {

if(editable.length() == 3 || editable.length() == 7){
editable.append("-");
}

这工作正常,并添加了“-”,但是当我尝试删除一些文本时,它卡在了这些地方,所以如果我输入 221- 然后我按退格键它不起作用, 并且不允许我删除这些字符。

最佳答案

这是因为当您使用 221- 按下退格键时,您将删除 - 字符,这会为您提供 221。但是在你的文本更改监听器中,它附加了另一个 - 因为你剩下 3 个字符所以你的文本再次变成 221- 。因此,您将陷入循环。您应该在最后执行文本格式化以避免这种情况。或者您可以添加另一个监听器来检测何时按下退格键。

查看此链接了解更多详情 Android EditText delete(backspace) key event

关于android - 在文本更改监听器上添加破折号时无法从 EditText 字段中删除文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59514650/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com