所以我读取了 json api 并得到了结果。根据结果我希望 android 执行两个不同的事情。
如果状态=否,那么我想要一个事件,如果状态=是,我想要另一个事件。
我的代码在这里:
JSONObject json = new JSONObject(result);
String status = json.getString("status");
Log.d("BeforeIf", status);
if(status == "no"){
//toast logIN failed
Log.d("logIN-no", status);
String message = "Log In Failed";
Toast.makeText(c, message, Toast.LENGTH_SHORT).show();
}
else{
//get userName
Log.d("logIN-yes", "correct");
//get user ID
//set preferences
//launch normal activity
}
奇怪的部分是在 if 我的日志显示 status = no 之前,但根据日志,它似乎转到了 else...
06-21 22:24:05.822: D/BeforeIf(26889): no
06-21 22:24:05.877: D/logIN-yes(26889): correct
根据这次运行,它不应该出现在 if 语句的 else 部分......我错过了什么哈哈
最佳答案
您不能使用 ==
来比较两个字符串(或任何两个对象)的内容。您正在比较引用,而不是内容。
使用if(status.equals("no")){
关于java - android中读取json的奇怪if语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17246771/