Библиотека расширения: как реализовать IDownloaderClient и обновить пользовательский интерфейс?

Я следовал руководству по реализации файлов расширения APK, и я столкнулся с проблемой snafu с библиотекой загрузчика ( пример реализации, которой я следовал). В интерфейсе IDownloaderClient определен следующий метод:

onDownloadProgress (Прогресс DownloadProgressInfo)

Служба загрузки вызывает это для доставки объекта DownloadProgressInfo, который описывает различную информацию о ходе загрузки, в том числе о предполагаемом оставшемся времени, текущей скорости, общем прогрессе и общем количестве, чтобы вы могли обновить пользовательский интерфейс прогресса загрузки.

Это реализовано как:

    @Override
    public void onDownloadProgress(DownloadProgressInfo progress) {
    mAverageSpeed.setText(getString(R.string.kilobytes_per_second,
            Helpers.getSpeedString(progress.mCurrentSpeed)));
    mTimeRemaining.setText(getString(R.string.time_remaining,
            Helpers.getTimeRemaining(progress.mTimeRemaining)));

    progress.mOverallTotal = progress.mOverallTotal;
    mPB.setMax((int) (progress.mOverallTotal >> 8));
    mPB.setProgress((int) (progress.mOverallProgress >> 8));
    mProgressPercent.setText(Long.toString(progress.mOverallProgress
            * 100 /
            progress.mOverallTotal) + "%");
    mProgressFraction.setText(Helpers.getDownloadProgressString
            (progress.mOverallProgress,
                    progress.mOverallTotal));
    }

Проблема в том, что независимо от того, что я делаю, я просто не могу обновить пользовательский интерфейс загрузчика. Я пытался сделать недействительным, postInvalidating, запустить в отдельном потоке и т. Д. Если я пропустил какую-то ключевую часть примера реализации, пожалуйста, укажите мне, но я не могу его найти. Я весь день поливал свой код и пример... Есть идеи, почему я не могу обновить интерфейс? Это буквально последнее, что удерживает меня от публикации моего приложения. Благодарю.

1 ответ

Ну, это расстраивает, но технически у меня есть обновление пользовательского интерфейса. Проблема в том, что я понятия не имею, что сейчас отличается от того, что было раньше.

Я удалил весь макет и создал новый с нуля. Возможно, я что-то изменил в коде, но столько вещей, сколько я пытался случайным образом, трудно сказать, что в итоге дало результат. Если у кого-то еще есть подобная проблема, я бы предложил удалить макет и начать сначала... Я думаю.

Любые дальнейшие отзывы, предложения или информация тоже были бы хорошими.

Другие вопросы по тегам