Я знаю этот странный вопрос, но я пытаюсь использовать мой вызов Retrofit внутри цикла for.Что я делаю, так это отправляю мои элементы String [] один за другим в вызове с помощью func, например insertdata(seperated2[0], seperated2[1], email, tag);
Но цикл ведет себя странно, когда пропускает анонимный вызов для call.enqueue(......onResponse(...) onfailure(.....))
Вместо того, чтобы вызывать его с помощью элемента управления loop, сначала он завершает цикл, а затем приходит в call.enqueue и всегда последний элемент в цикле.Вот как выглядит цикл ....
separated = currentString.split("\n");
for (int i=1; i<separated.length; i++) {
seperated2 = separated[i].split(":");
for (String aSeperated2 : seperated2) {
Call<ServerResponse2> call = requestInterface.insertQrdata(seperated2[0], seperated2[1], email, tag);
call.enqueue(new Callback<ServerResponse2>() {
@Override
public void onResponse(Call<ServerResponse2> call, Response<ServerResponse2> response) {
ServerResponse2 serverResponse2 = response.body();
Toast.makeText(getActivity(), serverResponse2 != null ? serverResponse2.getMessage() : null, Toast.LENGTH_SHORT).show();
}
@Override
public void onFailure(Call<ServerResponse2> call, Throwable t) {
Toast.makeText(getActivity(), t.getLocalizedMessage(), Toast.LENGTH_SHORT).show();
}
});
}
}
вот пример для seperated [] и seperated2 []
0 1
2 3
4 5
6 7
7 8
9 10
seperated [] разделяет их на строки и разделяет2разделяет их по столбцам.
Проблема Когда я проверяю значение seperated2 [0] и seperated2 [1] для каждой итерации метода Response, оно должно быть
sep2[0]= 0 sep2[1] = 1
2 3
and so on... for each iteration
но в каждой итерации значение в onResponse всегда является последним, то есть
sep2[0] = 9 sep2[1] = 10
untill the length (say 6) same value at each iteration.
Я не знаю, делаю ли я что-то не так, но значения отображаются правильно, когда я использую их вне onResponse ().
Я знаю, что использование подобной модификации не является хорошей практикой, но мне было интересно, как она отреагирует в этой ситуации.Кто-нибудь может помочь или дать какие-либо предложения?
СПАСИБО ЗА ПРЕДЕЛА !! !!