我正在onCreateView hitSearchApi()和getSwipeImage()中执行两个方法。
在从hitsearchApi方法获得响应之前,它会激活getSwipeImage方法。
我不知道如何等待凌空响应完成然后执行getSwipeImage()方法。
所以我无法得到预期的结果。任何人都可以帮助我。谢谢。
MainActivity.java:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.cards_fragment, container, false);
hitSearchApi();
getSwipeImage();
Log.e("AUTH_ID",""+AUTH_ID);
return rootView;
}
void hitSearchApi(){
String getUserApi = Utils.BR_USERS;
Log.e("GetUserSearchApi", getUserApi);
StringRequest request = new StringRequest(Request.Method.GET, getUserApi, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
if(response != null && !response.startsWith("<HTML>")){
Log.e("onResponse", response);
dialog.dismiss();
try {
JSONArray jsonArr = new JSONArray(response);
for(int i = 0; i<jsonArr.length();i++){
JSONObject jsonObj = jsonArr.getJSONObject(i);
AUTH_ID = jsonObj.getString("_id");
}
} catch (JSONException e) {
e.printStackTrace();
dialog.dismiss();
}
}else{
dialog.dismiss();
toastShort(getActivity() , "Check Internet");
}
}
}
RequestQueue queue = Volley.newRequestQueue(getActivity());
queue.add(request);
queue.getCache().remove(getUserApi);
}
答案 0 :(得分:2)
不要立即调用hitSearchApi()和getSwipeImage()。首先调用hitSearchApi()。在hitSearchApi()的onResponse()内,调用getSwipeImage()。这样,它们都将被串行执行而不是并行执行。