Я пытаюсь дождаться завершения вызова метода, прежде чем продолжить, но моя попытка пока не работает.
public class SaveMyEntitiesToServerResolver {
public void syncNewMyEntities() {
if (jsonObject != null) {
new MyAsyncJSONPostTaskService(mContext, postURL, jsonObject).myPostJSON(new IMyAsyncJSONPostTask() {
@Override
public void processFinishAsyncJSONPostTask(JSONObject jsonObject) {
for (int i = 0; i < jArr.length(); i++) {
JSONObject e;
try {
e = jArr.getJSONObject(i);
synchronized (this) {
setMyEntityMetadataId(e.getJSONArray("_myEntityMetadataList"));
this.wait();
// Then do something else
}
} catch (JSONException e1) {
e1.printStackTrace();
} catch (InterruptedException e1) {
e1.printStackTrace();
}
}
}
});
}
}
synchronized void setMyEntityMetadataId(JSONArray jsonArray) {
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject e;
try {
e = jsonArray.getJSONObject(i);
Long localMetadataId = Long.parseLong(e.getString("localMetadataId"));
// Save localMetadataId to DB
} catch (JSONException e1) {
e1.printStackTrace();
}
if (i == jsonArray.length() - 1) {
this.notifyAll();
}
}
}
}
Как я могу дождаться завершения вызова метода, прежде чем продолжить?
Спасибо всем заранее.