[英]Android string .equals method not working
我正在学习android开发。 我已经能够成功登录 class,我的应用程序会检查我的 mysql 数据库以查看用户的详细信息是否存在于数据库中。 如果数据库中存在用户的详细信息,则 php 文件发布“正确”或“不正确”
private void checkResult(){
if(getResults().equals("correct")){
//do some stuffs
}
else{
displayDialog(getResults());
}
}
getResults() 方法返回字符串(来自服务器的响应)。 但是,字符串比较似乎不起作用,因为当服务器返回“正确”作为响应时,if 条件总是显示为假。 我确认通过使用下面的方法,执行了错误的语句,但是 alertDialog 中的 msg 是“正确的”。 请任何人帮助,似乎无法理解为什么代码行为不端。
public void displayDialog(String msg){
AlertDialog alertDialog = new AlertDialog.Builder(this).create();
alertDialog.setTitle("Authetication Failed!");
alertDialog.setMessage(msg);
alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// do something when the user presses OK (place focus on weight input?)
}
});
alertDialog.setIcon(R.drawable.icon);
alertDialog.show();
}
我以前也遇到过同样的问题。 尝试getResults().trim().equals()
代替
我强烈怀疑该字符串包含“不可见”字符,例如 Unicode U+0000 或换行符。
我建议您通过记录字符串的长度和每个字符的 Unicode 值来诊断:
String results = getResults();
for (int i = 0; i < results.length(); i++)
{
// Whatever the relevant log call is
log("Got character: " + (int) results.charAt(i));
}
与String.equals
真的被破坏相比,这似乎更有可能是问题所在。
也许响应包含一些<br
blaa bla html 标签。 这是我的第一个想法。 记录 output。 Log("RESPONSE", getResults());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.