我有一个上点击监听器,并在上点击监听器,我有一个如果,否则statment,如下onResponse布尔实例变量没有被设置?
@Override
public void onClick(View v) {
postMethodRegister();
System.out.println("mSuccess is set to " + mSuccess);
if (mSuccess) {
Intent login = new Intent(Login.this, MainActivity.class);
startActivity(login);
}else{
Toast toast = Toast.makeText(getApplicationContext(), "Please Check your UserName or Password", Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER | Gravity.CENTER_HORIZONTAL, 0, 0);
toast.show();
}
}
我也有一个布尔变量,它是默认设置为false,私人布尔mSuccess ;如果onResponse被执行,我将它设置为true,否则我将它设置为false并执行相应的响应,但由于某种原因,第一次尝试登录时它运行onResponse,但是当它到达onClick时,mSuccess被设置为错误的是什么? mSuccess是一个实例变量。
public void postMethodRegister() {
StringRequest request = new StringRequest(Request.Method.POST, loginUrl, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
System.out.println("On Response was thrown in Login"+response);
mSuccess=true;
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
System.out.println("Error was thrown in Login" + error.getMessage()+"and the response code is ");
mSuccess=false;
}
})
我明白这一点很有意义!你对这个问题提出的任何快速解决方案? – eli
如果在onClick()中删除了两个块,则可以在onResponse()中编写块代码,并在onErrorResponse()中编写代码。 –
真的,很好的致电谢谢! – eli