如何从onResponse中获取响应,以便可以返回它?我已经找到了这个,但是我不太了解如何为我实现它。如何从Volley的onResponse函数返回值?
我希望有一个更新的方法或可能更容易错过的一些东西,这是我的代码
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;
}
如前所述,您需要实现接口并获取回调
像这样创建一个新界面
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());
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句