我正在制作注册表。
我使用 Volley 来检查电子邮件是否已存在(我连接到返回答案的 PHP 文件)。
我的问题是,当我仍在等待 Volley 返回答案时,应用程序仍在继续运行。
代码:
if(isValidEmail(emailET.getText().toString())){
Response.Listener<String> responseListener = new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject jsonResponse = new JSONObject(response);
boolean success = jsonResponse.getBoolean("success");
if(success){
emailET.setError("Email is already in use");
}else{
System.out.println("Happening");
validator += "0";
}
} catch (JSONException e) {
e.printStackTrace();
}
}
};
EmailCheckRequest emailRequest = new EmailCheckRequest(emailET.getText().toString(), responseListener);
RequestQueue queue = Volley.newRequestQueue(AccountEmail.this);
queue.add(emailRequest);
}
System.out.println("validator=" + validator);
if(validator.matches("00")){
startActivity(dataCollector());
}
现在的问题是这部分代码:
if(validator.matches("00")){
startActivity(dataCollector());
}
发生在这部分代码之前:
if(success){
emailET.setError("Email is already in use");
}else{
System.out.println("Happening");
validator += "0";
}
如何让应用程序“ sleep ”并仅在 Volley 停止工作后继续?
最佳答案
不要让应用程序 hibernate 。通过在 onResponse 末尾移动监听器内执行检查的代码来正确等待 Volley
关于java - 如何在 Volley 进行时制作应用程序 "sleep",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40820349/