如何从onResponse中获取响应以便我可以返回它?我找到了这个,但我真的不明白如何为我实现它。 How can I return value from function onResponse of Volley?
我希望有一种更新的方法或更容易让我错过的东西 这是我的代码
public Boolean checkIfPersonExists(Context context, final Person aPerson){
StringRequest postRequest = new StringRequest(Request.Method.POST, USEREXISTS, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.d("RESPONSE",response.toString());
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
}
}){
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String,String> params = new HashMap<>();
params.put("email",aPerson.getEmail());
params.put("phone",aPerson.getPhone());
return params;
}
};
Volley.newRequestQueue(context).add(postRequest);
return null;
}
答案 0 :(得分:0)
如上所述,您需要实现接口并获得回调
像这样创建一个新界面
public interface GeneralCallbacks {
void VolleyResponse(String data);
}
在您的活动类
上实施界面public class YourActivity implements ScoreboardCallback
{
@Override
public void VolleyResponse(String data)
{
//do stuff with data
}
}
最后将你的响应功能改为这样的
@Override
public void onResponse(String response) {
((GeneralCallbacks)context).VolleyResponse(response); // This will make a callback to activity.
aPerson.SomeFunction(); // This will call person's function
Log.d("RESPONSE",response.toString());
}