Набор текста после ответа дооснащения

0
задан 8kk 19 February 2019 в 14:28
поделиться

1 ответ

Ретрофит выполняет вызов для получения статистики асинхронно, но вы устанавливаете текст в TextView синхронно. Вы звоните getStatistics(), который запускает вызов, чтобы получить новую статистику, но не ждет его завершения. Затем вы сразу же устанавливаете текст, после чего объект statistics все еще равен нулю. Вам необходимо обновить TextView после получения успешного ответа. Например:

public void init() {
    getStatistics(); 
}

private void getStatistics() {
    ...
        @Override
        public void onResponse(Call<STATISTIC> call, Response<STATISTIC> response) {
            if (response.isSuccessful()) {
                setStatistics(response.body()); 
                // Call the code to update your UI here, as we have now received the stats
                updateUI(); 
            } else {
                ...
            }
        }
    ...
}

...

private void updateUI() {
    textNrCompleted.setText(String.format("%s", statistics.getTask())); 
}
0
ответ дан jguerinet 19 February 2019 в 14:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: