0
public void afterTextChanged(Editable editable) {

    String f = y.getText().toString();

    String[] data2 = f.split(" ");

    if (f.substring(f.length() - 1).equals(" ")) {
        StringBuilder M = new StringBuilder();
        String z = y.getText().toString();
        String[] data1 = z.split(" ");
        {
            String last = order(data1[data1.length - 1].toString());

            data1[data1.length - 1] = last.toString();

            for (int i = 0; i < data1.length; i++) {

                M.append(data1[i]);
                M.append(" ");

            }

            y.removeTextChangedListener(this);
            y.setText(M.toString());
            y.setSelection(y.getText().length());
            y.addTextChangedListener(this);

        }
    }
}

这是我的 afterchangetext 的代码,当检测到空格时,它将前一个单词更改为其标准形式,但是当用户写一些东西并尝试删除或点击退格键时,应用程序由于这种方法而崩溃,请帮助我如何处理退格键

4

1 回答 1

0

由于在空字符串上使用子字符串方法,它在编辑文本为空时崩溃。

if (f.substring(f.length() - 1).equals(" ")) {

像这样替换:

if (f.length() > 0 && f.substring(f.length() - 1).equals(" ")) {

让我知道它是否有问题。

于 2017-04-09T09:56:11.537 回答