null对象引用上的方法boolean java.lang.String.equals(java.lang.Object)'

问题描述 投票:-2回答:3
 if(response.isSuccessful())
               {
                   if(response.body().getSuccess().equalsIgnoreCase("1")||response.body().getSuccess().equalsIgnoreCase("2"))
                   {


                       String message = response.body().getMessage();
                       // Snackbar.make(parentView, message, Snackbar.LENGTH_SHORT).show();
                       Toast.makeText(Login.this,message,Toast.LENGTH_SHORT).show();
                       Intent i = new Intent(Login.this, DashBoard.class);
                       startActivity(i);
                       finish();
                       overridePendingTransition(R.anim.enter_from_right, R.anim.exit_out_right);
                   }
                   else if(response.body().getSuccess().equalsIgnoreCase("0"))
                   {
                       String message = response.body().getMessage();
                       // Snackbar.make(parentView, message, Snackbar.LENGTH_SHORT).show();
                       Toast.makeText(Login.this,message,Toast.LENGTH_SHORT).show();
                   }else {
                       Toast.makeText(Login.this, getString(R.string.unexpected_response), Toast.LENGTH_SHORT).show();
                   }

               }else {
                   Toast.makeText(Login.this, response.message(), Toast.LENGTH_LONG).show();
               }
           }
android
3个回答
0
投票

像这样改变你的平等条件,异常将自动处理

 if (response.isSuccessful()) {
        if ("1".equalsIgnoreCase(response.body().getSuccess()) || "2".equalsIgnoreCase(response.body().getSuccess())) {
            //do your work
        } else if ("0".equalsIgnoreCase(response.body().getSuccess())) {
            //do your work
        }else {
            //do your work
         // Toast.makeText(Login.this, getString(R.string.unexpected_response), Toast.LENGTH_SHORT).show();
        }
    } else {
        //do your work
    }

希望它能帮到你。


0
投票

此代码在“not successful”时执行,这可能意味着您将null传递给烤面包机:

}else {
  Toast.makeText(Login.this, response.message(), Toast.LENGTH_LONG).show();
}

0
投票

可能response.body().getSuccess()在这里返回null

改变你的逻辑。

 if(response.isSuccessful() && response.body().getSuccess() != null)
               {
..

编辑

并根据安迪的回答

Toast.makeText(Login.this, response.message(), Toast.LENGTH_LONG).show();

在null的情况下也会导致异常。

© www.soinside.com 2019 - 2024. All rights reserved.