2016-06-02 2 views
0

TabLayout, Tab1 (첫 번째 req) 및 Tab2 (두 번째 req)에서 여러 발리 요청을 사용 중입니다. 문제가 동시에 요청하여 TabLayout에서 스와핑 중에 앱이 멈 춥니 다. Tab1부터 Tab2까지. 특정 지연을 원하고 두 번째 요청. 시나리오를 이해했으면 좋겠어. 더 많은 제안/설명을 요청하십시오.발리 요청에 대해 특정 시간을 추가하는 방법

답변

0

발리를 통해 요청을 보냄으로 앱이 멈추는 지 의심 스럽습니다. 첫 번째 요청 후 두 번째 요청을 보내려면 어쨌든, 당신을

JsonObjectRequest firstRequest = new JsonObjectRequest(Request.Method.GET, url, new Response.Listener<JSONObject>() { 
     @Override 
     public void onResponse(JSONObject response) { 
      //Send 2nd request here 
     } 
    }, 
    new Response.ErrorListener() { 
     @Override 
     public void onErrorResponse(VolleyError error) { 
      //Handle Error case here    
     } 
}); 
mRequestQueue.add(firstRequest); 

당신이 탭 2로 전환 한 후 x 초 후 두 번째 요청을 보내려면

처럼 첫 번째 요청의 응답 리스너에 넣어 당신이 탭을 변경 감지 할 수있는 postDelayed을 사용할 수 있습니다 (예를 들어, onResume 당신은 탭으로 조각을 사용하는 경우)

new android.os.Handler().postDelayed(
    new Runnable() { 
     public void run() { 
      //Your second request goes here 
     } 
    }, 
1000); //Will execute after one second. 

같은 몇 가지 고급 용도를 위해 당신은 또한 발리의 요청 큐 크기를 구성 할 수 있습니다. 특정 시나리오의 경우 최대 병렬 요청 수를 here과 같이 1로 설정할 수 있습니다.

관련 문제