我在Android中有一些EditText。我想做出决定:
private void makeAnOrder() {
OrderSocket order = new OrderSocket();
String phoneNumber = this.phoneEditText.getText().toString();
String email = this.emailEditText.getText().toString();
String location = this.globalLat + ", " + this.globalLon;
String optMessage = this.optionalMessageText.getText().toString();
if((phoneNumber == null)|| (email == null)){
Toast.makeText(PesanTaxi.this, "Email dan No.Telepon Tidak Boleh Kosong", Toast.LENGTH_SHORT).show();
}
else{
String result = order.postTaxiOrder(email, phoneNumber, location,
optMessage);
Toast.makeText(PesanTaxi.this, result, Toast.LENGTH_LONG).show();
}
}
当应用程序运行时,我让电子邮件和电话号码的编辑文本为空白,然后按下makeAnOrder()已分配到该按钮的按钮。但是,执行的是“else”句子。
我尝试过更简单,检查一下,if(phoneNumber ==“”)并且仍然没有执行。
所以,我知道,这些值既不是null也不是“”;
我想知道,如何克服我的问题。
谢谢。
答案 0 :(得分:2)
在Java中比较字符串时,您希望使用.equals运算符来检查值。所以请按以下方式进行:
if(phoneNumber.equals("") || email.equals("")){
Toast.makeText(PesanTaxi.this, "Email dan No.Telepon Tidak Boleh Kosong", Toast.LENGTH_SHORT).show();
}
答案 1 :(得分:0)
尝试(phoneNumber.length() < 1)