android-if条件不起作用

时间:2015-04-27 12:33:17

标签: android if-statement

我有一个Android应用程序,我有两个EditText s。

用户输入'距离'和'时间。

如果用户没有填写其中一个输入,我发出if语句来显示错误消息:

String strDistance,strTime;
strDistance=edtDistance.getText().toString();
strTime=edtTime.getText().toString();
if(strDistance==null||strTime==null){
    txtError.setText("Please insert the distance and time");
}
else{
    calculateLogic();
    app.setFare(fare);
    Intent intent=new Intent(MainActivity.this,Fare.class);
    startActivity(intent);
}

如果填写两个输入,它可以正常工作。

但是当我只填写其中一个时,应用程序停止工作(我没有收到我的错误消息)......

5 个答案:

答案 0 :(得分:1)

请尝试以下方法: -

if(strDistance.equals("")||strTime.equals("") {
 txtError.setText("Please insert the distance and time");
}

答案 1 :(得分:0)

尝试它会帮助你

     strDistance.equals("") 

或者您可以查看

strDistance.isEmpty().

答案 2 :(得分:0)

 strDistance.gettext()

永远不会返回null。

 strDistance.isEmpty()

使用此

答案 3 :(得分:0)

尝试修剪结果并使用String.isEmpty();这将确保文本的长度至少为某些文本。

使用isEmpty()的原因是因为EditText.getText()在当前实现中永远不会返回null。

...
strDistance=edtDistance.getText().toString().trim();
strTime=edtTime.getText().toString().trim();

if(strDistance.isEmpty() || strTime.isEmpty()){
...

答案 4 :(得分:0)

Try this...

String strDistance,strTime;
strDistance=edtDistance.getText().toString();
strTime=edtTime.getText().toString();
if(strDistance.trim().isEmpty || strTime.trim().isEmpty()){
    Toast.makeText(getApplicationContext,"Please insert the distance and time",2000).show();
}
else{
    calculateLogic();
    app.setFare(fare);
    Intent intent=new Intent(MainActivity.this,Fare.class);
    startActivity(intent);
}