陌简曦东 2015-06-30 04:33 采纳率: 0%
浏览 3717
已采纳

EditText在setOnFocusChangeListener方法中无法做判断

 et_limit.setOnFocusChangeListener(new OnFocusChangeListener() {
                @SuppressLint("NewApi")
                @Override
                public void onFocusChange(View arg0, boolean focus) {
                    if(focus){
                        return;
                    }
                    if(et_limit.getText().toString()!=null||!"".equals(et_limit.getText().toString())){
                        if(Integer.parseInt(et_limit.getText().toString())>180){
                            Toast.makeText(getApplicationContext(), "请输入正确值", Toast.LENGTH_SHORT).show();
                            et_limit.clearComposingText();
                            et_limit.setText("输入有误");
                            et_limit.setTextColor(Color.RED);
//                          et_limit.setEnabled(true);
//                          et_limit.bringToFront();
//                          et_limit.beginBatchEdit();
                            return;
                        }else if(Integer.parseInt(et_limit.getText().toString())==180){
                            Toast.makeText(getApplicationContext(), "已经是最大值", Toast.LENGTH_SHORT).show();
                            et_mm.setEnabled(false);
                            et_ss.setEnabled(false);
                        }
                    }
                    ((Route)(getItem(position))).longDegree=et_limit.getText().toString();
                }
            });

代码中使用if判断和这 句代码后 et_limit.clearComposingText(); EditText再次点击输入就崩,什么原因

  • 写回答

3条回答 默认 最新

  • bdmh 移动开发领域优质创作者 2015-06-30 04:59
    关注

    可能第二次getText()得到的是null,所以你访问它就报错了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?