2017-05-18 1 views
0

Hallo Ich versuche, etwas tun wie etwas tun. Irgendeine Idee, wie man weiß, welche Anfrage zu welchem ​​Projekt gehört?Wie verfolgen Sie AsynchHttpClient Anfrage

for (int i=0; i<projects.size(); i++) { 
    post("api/Project/getProductionTime", rp, new JsonHttpResponseHandler() { 
     @Override 
     public void onSuccess(int statusCode, Header[] headers, JSONObject response) 
     { 
      projects.get(i).setAmount(<things from response>) 
     } 
    } 
} 

Antwort

1

Ich denke, man kann 'einfrieren' Ihr Projekt vor der Schöpfung eine Instanz von JsonHttpResponseHandler und nach Gebrauch innerhalb onSuccess Block:

final <project type> project = projects.get(i); 

kurz vor post().

Wenn nicht, können Sie eine Karte erstellen, die Eins-zu-Eins-Beziehungen zwischen Projekten und Anfragen enthält.

Update: Bitte nicht, dass ich diesen Code nicht testen kann, da ich Ihre Projektstruktur nicht kenne.

// I assume that both Project and MyJsonHttpResponseHandler has hashCode() and equals() methods 
// MyJsonHttpResponseHandler is a subcalss of JsonHttpResponseHandler with hashCode() and equals() methods 
private final ConcurrentHashMap<MyJsonHttpResponseHandler, Project> map = new ConcurrentHashMap<>(); 
... 
for (int i=0; i<projects.size(); i++) { 
    MyJsonHttpResponseHandler handler = new MyJsonHttpResponseHandler() { 
     @Override 
     public void onSuccess(int statusCode, Header[] headers, JSONObject response) 
     { 
      Project project = map.get(this); 
      project.setAmount(<things from response>); 

      map.remove(this); 
     } 
    }; 
    map.put(handler, projects.get(i)); 
    post("api/Project/getProductionTime", rp, handler); 
} 
+0

Ich interessiere mich mehr für die Map-Lösung. Wie kann ich es tun? Wie sollte ich einen separaten JsonHttpResponseHandler erstellen und einem Projekt zuordnen? – Nagas

+0

Ich aktualisierte meine Antwort. –

+0

Danke @Anton, ich habe meine eigene Art geschrieben, um die Handler zu behandeln, aber die Idee ist meist von Ihrer Antwort. – Nagas

Verwandte Themen