Как уведомить пользователя только один раз, если дооснащение несколькими вызовами возвращает то, что вам нужно?

Аналитическая функция LISTAGG была введена в Oracle 11g Release 2 , что упрощает агрегацию строк. Если вы используете 11g Release 2, вы должны использовать эту функцию для агрегации строк. Пожалуйста, обратитесь к url ​​для получения дополнительной информации о конкатенации строк.

http://www.oracle-base.com/articles/misc/StringAggregationTechniques.php

Конкатенация строк

0
задан Geronimo 17 January 2019 в 00:46
поделиться

1 ответ

Быстрый и, возможно, наивный подход будет выглядеть примерно так:

private final Set<Result> uniqueResults = new HashSet<>();

@Override
public void onResponse(Call<LiveScore> call, Response<LiveScore> response) {
    if (!response.isSuccessful()) {
        Toast.makeText(MainService.this, String.valueOf(response.code()), Toast.LENGTH_SHORT).show();
        return;
    }
    liveScore = response.body();

    for(Result r : response.body().getResult()) {
        if(uniqueResults.add(r)) {
            // notify user
        }
    }

});

Вам также необходимо переопределить equals() и hashcode() в вашем классе Result.

0
ответ дан Mark Keen 17 January 2019 в 00:46
поделиться
Другие вопросы по тегам:

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