从字符串s = s.substring(0,s.length()-1)中删除最后一个字母; + setText仅在某些情况下有效

时间:2019-02-02 11:10:47

标签: java android string char

我正在做一个由按钮组成的键盘。除删除按钮外,Ethingthink均能正常工作。它有时起作用,有时我必须按五次,有时是12次。如果我替换s = s.substring(0,s.length()-1);对于诸如s = s +“无论如何”的事物;效果很好。

exercise_id: Exercise.find_by_name(ex_body[:name]).id

编辑:我试图用相同的结果替换子字符串,所以我猜问题出在setText中。

    public void onClickKeyboard (View view){


    if (view.getTag().equals("delete")){

                s = s.substring(0, s.length()-1);
                preguntaView.setText(s);

    } else if (view.getTag().equals("space")) {
        s = s + " ";
        preguntaView.setText( s.toString());

    } else if (!view.getTag().equals("delete") && !view.getTag().equals("space")){
        s = s + view.getTag().toString();
        preguntaView.setText( s.toString());

    }

编辑:如果我在剪切前后注销字符串s,我会得到:

           preguntaView.setText(preguntaView.getText().toString().substring(0, preguntaView.getText().length()-1));

1 个答案:

答案 0 :(得分:0)

您可以尝试关注以下内容吗?我已经在本地代码中尝试过了,并且可以正常工作。

if(view.getTag().equals("delete")){
    String data = preguntaView.getText().toString();
    if (data.length() > 0) {
        data = data.substring(0, data.length() - 1);
    }
    preguntaView.setText(data);
}