编辑文本值始终等于空字符串

时间:2014-02-28 18:45:54

标签: android if-statement string-matching

这是代码段

 s= e1.getText().toString();
            iv1 = (ImageView) findViewById(R.id.imageView1);
            iv1.setOnClickListener(new OnClickListener() {
                public void onClick(View arg0) {
                    if(s.matches("")){
                        int time=2000;
                        Toast.makeText(Loadscreen.this, "Please specify the level", time).show();
                    }
                    else{
                        int str= Integer.valueOf(s);
                        if(str>0 && str<11){
                            calculate(str);
                            r2=new Random();
                            int nxt = r2.nextInt(2);
                            if(nxt==0){
                                                       //do some work
                            }
                            else{
                                //do some work
                            }
                        }
                        else{
                            int time=2000;
                            Toast.makeText(Loadscreen.this, "Enter a valid level", time).show();
                        }
                    }
                }
            });

控件永远不会进入else块。屏幕上的输出是Toast的文本,注释为“请指定级别”。 请说明为什么其他部分没有执行?

1 个答案:

答案 0 :(得分:3)

从编辑文本中获取文本时,可能无法获得正确的结果

在任何比较之前在onclick方法中写下这一行

 s= e1.getText().toString();