java - 如何在EditText中删除光标左侧的最后一个数字
问题描述
我正在制作一个 DEL 按钮,一次删除 1 个字符。我最近在芽之间添加了光标移动删除不知道如何
我使用子字符串来正常删除。如果在按下之前字符数为 0 或 1,它会崩溃。我添加了 if 语句来修复它。
这是我的删除方法
public void delete(View view){
if(textArea.length()==0){
return;
}else if(textArea.length()==1){
if(textArea.getSelectionStart()==textArea.length()){
textArea.setText("");
}else{
return;
}
}else {
int selection = textArea.getSelectionStart();
textArea.setText(textArea.getText().delete(Math.max(0, selection - 1), selection));
}
}
请告诉我该怎么做才能删除光标左侧的字符。
我编辑了回答者的代码
解决方案
你可以像这样使用类delete
的方法Editable
public void delete(View view){
int selection = textArea.getSelectionStart();
textArea.setText(textArea.getText().delete(Math.max(0, selection - 1), selection));
}
推荐阅读
- flutter - 如何从 Flutter 中的第三页调用第一页的结果?
- sql-server - SQL Server CASE in WHERE 具有单个条件但多个返回
- sql-server - SQL Server 进程被 tempdb 阻止
- google-app-engine - 用于 google-cloud-datastore 的 Python ORM
- sql - 如何在 PL SQL 中使用表名而不是 SCHEMA
- javascript - 在画布上两点之间绘制矩形
- bash - Bash 脚本:对于第 1 列中的每个项目,对第 2 列中的项目执行一些操作
- javascript - node-celery client.call('task') 从不执行/完成?
- node.js - 通过块 Node.js 从 Google Cloud Storage GCS 下载文件
- swift - SwiftUI ScrollView 只允许对某些单元格进行 HitTesting