我有一个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);
}
如果填写两个输入,它可以正常工作。
但是当我只填写其中一个时,应用程序停止工作(我没有收到我的错误消息)......
答案 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);
}