2016-03-11 29 views
1

我在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); 



    } 

回答

2

不要马上打电话hitSearchApi()和getSwipeImage()。首先调用hitSearchApi()。在hitSearchApi()的onResponse()中,调用getSwipeImage()。这样它们都将被连续执行而不是并行执行。

相关问题