2017-09-27 4 views
1

私はokhttp3.Callbackを実装し、onFailureとonResumeメソッドをオーバーライドするアクティビティを持っています。 この活動にと呼ばれる複数の異なる要求、これに似たものがあります応答がそれぞれに異なった方法で処理する必要があるため返信先のOkHttpの呼び出しを確認するには

Request request1 = RequestBuilder.login(username,password); 
okHttpClient.newCall(request1).enqueue(this); 
Request request2 = RequestBuilder.getData(token); 
okHttpClient.newCall(request2).enqueue(this); 

私はonResponse方法でrequest1またはrequest2から戻っていた場合にどのように知ることができるが、要求?

+0

どうCallback' 'についてエンキュー'のための() '方法?それを試しましたか? – Pijotrek

答えて

3

オプション1:onResponse(Response response)response.request()を使用してRequestObjectを取得し、それをあなたと比較してください。

オプション2:代わりにthisの、そのように、匿名クラスを使用します。

okHttpClient.newCall(request1).enqueue(new Callback() { 
      @Override 
      public void onFailure(Request request, Throwable throwable) { 
       ... 
      } 

      @Override 
      public void onResponse(Response response) throws IOException { 
       ... 
      } 
     }); 

をして、再度、第2の要求のために:

okHttpClient.newCall(request2).enqueue(new Callback() { 
       @Override 
       public void onFailure(Request request, Throwable throwable) { 
        ... 
       } 

       @Override 
       public void onResponse(Response response) throws IOException { 
        ... 
       } 
      }); 
関連する問題