Получение случайного идентификатора - PullRequest
0 голосов
/ 29 мая 2018

У меня есть метод showTrajects, где я петля все id из trajects у меня, пока здесь хорошо.

Редактировать: Я искал, и проблема всегда в том, чтобы получить последний идентификатор AllPendingTrajects, но почему он не попадает в первый или второй?Проблема внутри AllPendingTrajects():

public void showTrajects() {
        for (indexTrajecte = 0; indexTrajecte < contador; indexTrajecte++) {
            AllPendingTrajects();
        }
    }

 public void AllPendingTrajects(){

    AsyncHttpClient client = new AsyncHttpClient();
    String URL = "http://url.net/api/link1/"+IDTrajecte[indexTrajecte];
    client.get(URL,new AsyncHttpResponseHandler() {

        @Override
        public void onStart() {}

        @Override
        public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {

            JSONObject trajectes = new JSONObject();

            String strResponseBody = new String(responseBody);

            try {
                trajectes = new JSONObject(strResponseBody);
            }catch (JSONException e){
                Toast.makeText(PendingTrajectRecyclerView.this, "Error", Toast.LENGTH_SHORT).show();
            }

            try {
                JSONArray realitzas = trajectes.getJSONArray("realitzas");

                dniTaxista = trajectes.getString("taxistes_dni");
                idTraject = Integer.parseInt(trajectes.getString("ID"));

                if(DadesTaxista.DNI.equals(dniTaxista)){
                    showPendingTraject();
                }
                else {
                    SeeAllTrajects();
                }
            }catch (JSONException e){
                e.printStackTrace();
            }

        }

        @Override
        public void onFailure(int statusCode, cz.msebera.android.httpclient.Header[] headers, byte[] responseBody, Throwable error) {
            Log.d("ERROR",""+statusCode);
        }

    });
}

Когда я вхожу в метод SeeAllTrajects() в журнале, я всегда получаю случайный идентификатор , и я не знаю, чтоможет быть, это не имеет смысла, и я попытался создать глобальную переменную, но безуспешно

  public void SeeAllTrajects(){
    AsyncHttpClient client = new AsyncHttpClient();
    String URL = "http://url.net/api/link2";
    client.get(URL,new AsyncHttpResponseHandler() {

        @Override
        public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {

            JSONArray trajectesJSON = new JSONArray();

            String strResponseBody = new String(responseBody);

            try {
                trajectesJSON = new JSONArray(strResponseBody);
            }catch (JSONException e){
                Toast.makeText(PendingTrajectRecyclerView.this, "Error", Toast.LENGTH_SHORT).show();
            }
            try {
                Log.d("ID TRAJECT:","d"+idByTraject);

                    }
                }catch (JSONException e){
                    e.printStackTrace();
                }
        }

        @Override
        public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
            Log.d("ERROR",""+statusCode);
        }
    });
}
...