Appcrash:如何通过按删除按钮删除编辑文本中的字符?

Appcrash: How to delete a character in edittext by pressing delete button?

edittext只有一个字符限制,一个删除按钮删除了edittext中的字符,但问题是当我在空edittext中按下删除按钮时。应用程序崩溃。

我使用了下面的代码,但是当我在空白处单击 del btn 时 edittext,应用程序崩溃。

del.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        String text = et1.getText().toString();
                        et1.setText(text.substring(0, text.length() - 1));
                    }
                });

此错误显示在 logcat 中。

IInputConnectionWrapper: endBatchEdit on inactive InputConnection

请帮助我。提前致谢

but the problem is when I pressed the delete btn in empty edittext. App becomes crash.

是的,因为您正在尝试对 null 执行 substring,这就是它崩溃的原因,要避免它,只需在执行操作之前添加一个 if 条件,如下所示:

del.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View v) {
      String text = et1.getText().toString();
      if(!text.isEmpty()) et1.setText(text.substring(0, text.length() - 1));
   }
});

试试这个代码

String text = et1.getText().toString();
                      if(!text.isEmpty())
                     {
                        et1.setText(text.substring(0, text.length() - 1));
                     }