2 zxd 72 zxd_72 于 2013.04.28 09:49 提问

检查 EditText 是否为空而导致的程序奔溃

我使用 eclipse 和 android sdk (java) 创建了一个简单的程序,在 EditText box 中有一些限制,但是
当 EditText box 是空的时候程序就奔溃了。我用了很多方法来检查 EditText 是否为空,但是它还是不能
运行的。为什么当box是空的时候程序奔溃?

buttonHash.setOnClickListener(new View.OnClickListener(){

    public void onClick(View v){
        switch(v.getId()){
        case R.id.hash_button:
        TextView msg = (TextView)findViewById(R.id.tell);
        info = (EditText)findViewById(R.id.entry);
        anss = info.getText().toString();
        //String ans = Double.toString(res);
        double result = Double.parseDouble(anss);
        if (res == result){
        msg.setText("Correct");
        }else
        if (res != result){
            msg.setText("Incorrect");
            }else
        if (info.getText().toString().equals("")){
            msg.setText("Empty!");
            }
        }       
    }
});

5个回答

LiDaming_and
LiDaming_and   2013.04.28 13:46
已采纳

使用下面的代码来解决你的问题

public void onClick(View v) {
            if (_text.getText().toString().equals(""))
                Toast.makeText(getApplicationContext(), "Empty BOX", 5000).show();
            else
                Toast.makeText(getApplicationContext(), _text.getText().toString(), 5000).show();

        }
feifei454498130
feifei454498130   2013.04.28 11:32

double result = Double.parseDouble(anss);

如果anss为空,那肯定会报错了

liuhongwei123888
liuhongwei123888   2013.04.28 22:50


if (info.getText().toString().equals("")){
msg.setText("Empty!");
return;
}
放到double result = Double.parseDouble(anss);
前面

qq_27578023
qq_27578023   2016.05.28 22:12

double result = Double.parseDouble(anss);

如果anss为空,那肯定会报错了,还有就是当你输入的是文字的话根本无法强转,所以程序肯定会崩溃

oSanYeCao1234567
oSanYeCao1234567   Ds   Rxr 2016.07.28 09:57

应该是这句代码Double.parseDouble(anss);报的空指针异常

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
iOS实战之后台返回数据为空造成程序崩溃
方法一:使用AFNetworking进行请求过滤设置: ((AFJSONResponseSerializer *)manager.responseSerializer).removesKeysWithNullValues = YES; 方法二:使用runtime来给类别增加属性 NSNull+Safe.m #import #import static NSStrin
Android完美解决获取Dialog中EditText输入值空指针程序崩溃问题
Android完美解决获取Dialog中EditText输入值空指针程序崩溃问题
android程序奔溃异常收集
程序出现意外的奔溃,比如:空指针异常等等,如果没有连接到开发工具我们就很难知道程序是什么原因导致的程序奔溃了,所以需要把这些奔溃信息收集起来,当出现了奔溃后,只需要拿到自己收集奔溃的文件,就知道是什么原因导致的奔溃了。
程序奔溃不提示的代码
c#中使程序在奔溃的时候直接结束,不显示奔溃提示 c#中使程序在奔溃的时候直接结束,不显示奔溃提示 c#中使程序在奔溃的时候直接结束,不显示奔溃提示
android中判断EditText的内容是否为空
今天写了一个demo,起初应该有当判断EditText的内容是否为空,如果是,则弹出Toast显示,但换了两种写法,1. edPhoneNum.getText().toString()==null  2.edPhoneNum.getText().toString().equals(null)    ,但均不能起到任何判断效果,后来通过这种方式实现了,TextUtils.isEmpty(edPhon
iOS学习Core Data文件操作中调用NSManagedObjectContext类实例save:方法导致程序崩溃
今天学习了ios中Core Data的一些简单文件操作,
android点击popupwindow里edittext崩溃的解决办法
今天在写android应用时,定义了一个popupwindow弹出,这个popupwindow里有一个edittext 一个button,一个listview。 其他控件都能正常点击,但是当点击edittext是程序发生了崩溃。 报的错误如下 01-08 11:48:07.222: E/AndroidRuntime(16657): FATAL EXCEPTION: main 01-08 1
iOS crash log
ios 奔溃log 奔溃 左右摇动 进去奔溃log 分析,记录每次奔溃信息
WebView导致程序崩溃!!!
1. 项目中遇到一个问题,在一个webview的页面上长按,弹出系统的“复制”和“搜索”,点击“搜索”,程序死机,报错启动外部Activity时要设置一个 FLAG_ACTIVITY_NEW_TASK ,但是搜索启动的是系统的浏览器,我根本就没有startActivity ,找了半天,找到有个哥们跟我遇到了同一个问题 ,见链接:http://hi.baidu.com/cenxcen/item/
android editview 设置TextWatcher 输入监听后产生崩溃
int inputType = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS; //正负开锁输入框 et_unlockType = (EditText)findViewById(R.id.et_