首页 > 解决方案 > 如何在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));
        }
    }

请告诉我该怎么做才能删除光标左侧的字符。

我编辑了回答者的代码

标签: javaandroidsubstringcursor-position

解决方案


你可以像这样使用类delete的方法Editable

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

推荐阅读