应用程序停止工作

时间:2011-09-05 16:45:39

标签: java android string

我在java中制作一个Android应用程序..而且基本上我有一个问题..我有一个按钮,它删除字符串中的最后一个字符..这个按钮将被使用很多,如果用户按下按钮当字符串为空时,应用程序收到错误消息并关闭..我想以某种方式阻止它..

这是onClickListener的当前代码..

back.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
                value = value.substring(0, value.length() - 1);
                numbersArea.setText(value);
        }

知道我会怎么做?因为我昨天晚上尝试了所有想法。

2 个答案:

答案 0 :(得分:3)

substring之前,请确保字符串的长度为> 0

if (!value.isEmpty()) {
    value = value.substring(0, value.length() - 1);
    numbersArea.setText(value);
}

如果您不进行此项检查,则某些字符串的长度为零,substring()会抛出IndexOutOfBoundsException

答案 1 :(得分:1)

让你的听众如下:

back.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

                if(!value.equals("") && value != null) {
                   value = value.substring(0, value.length() - 1);
                   numbersArea.setText(value);
                }
        }

基本上,它的作用是验证字符串是否为空且不同于null,如果不是,则进入if语句。

如果您有更多疑问,请告诉我。

感谢。