0

所以我读了一个 json api 并得到了结果。根据结果​​,我希望 android 执行两个不同的事情。

如果 status = no 那么我想要一个事件,如果 status = yes 我想要另一个事件。

我的代码在这里:

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 部分......我错过了什么哈哈

4

1 回答 1

5

您不能==用来比较两个字符串(或任何 2 个对象)的内容。您正在比较参考,而不是内容。

利用if(status.equals("no")){

于 2013-06-22T02:40:07.603 回答