java - 从edittext中的任何位置删除最后添加的字符
问题描述
我有一个编辑文本,我想将其限制为 160 个字符。如果用户输入了第 161 个字符,则需要显示警报。至此一切正常,我也成功删除了第 161 个字符。但它只删除最后一个字符,如果我在段落内输入第 161 个字符,我想删除那个不是最后一个。
What i tried :
Edt_txt_keyIn.getText().delete(length - 1, length);
解决方案
最好使用 TextWatcher :
Edt_txt_keyIn.addTextChangedListener(new TextWatcher() {
private int position;
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
position = start;
}
@Override
public void afterTextChanged(Editable s) {
if (s.length() > 160) {
Edt_txt_keyIn.setText(s.delete(position, position + 1));
}
}
});
推荐阅读
- python - 如何读取带有 € 和 % 符号的 csv 文件
- ruby-on-rails - rails计算两个哈希之间的百分比
- python - 遍历嵌套的json对象并使用python获取表中的值
- javascript - 您如何在 Chakra-UI 输入中按 Enter 键提交?
- java - 如何选择pdf文件android studio
- node.js - Rocky Linux 8:NodeJS 的 DH 关键配置问题
- amazon-web-services - 全局表上用于 DynamoDB 中事务写入的总 rWCU
- angular - 在 Azure 应用服务上使用 ASP.NET Core 配置 Angular
- java - 如何从 Scala 程序调用 Java 中定义的方法?
- javascript - 搜索功能在下拉列表中不起作用