如何删除 EditText 中光标左侧的最后一位数字

how to remove the last digit to the left of the cursor in 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));
        }
    }

请告诉我如何删除光标处的字符。

我为回答者编辑了代码

您可以像这样使用 Editable class 的 delete 方法

 public void delete(View view){
    int selection = textArea.getSelectionStart();
    textArea.setText(textArea.getText().delete(Math.max(0, selection - 1), selection));
}