ProgressBar в AppWidget

Я столкнулся с интересной ситуацией с использованием ProgressBar в Виджете Приложения... В документации (http://developer.android.com/guide/topics/appwidgets/index.html) говорится, что ProgressBar является поддерживаемым классом виджета...

У меня нет проблемы, заставляя ProgressBar отобразиться в моем Виджете Приложения, но проблема состоит в том, что я хочу, чтобы он только был отображен как визуальная обратная связь пользователю, когда фоновая обработка происходит.

На ImageViews я делаю это через RemoteViews.setViewVisibility (), и все хорошо работает. Однако с ProgressBar я получаю исключение, говоря, что ProgressBar не может использовать этот метод.

Это является намеренным, или действительно ли это - ошибка? Там каким-либо путем является к обходному решению эта проблема?

7
задан Justin 10 March 2010 в 09:35
поделиться

1 ответ

Возможно, это ошибка. В исходном Java-коде самого Android есть специальная аннотация ( @RemotableViewMethod ), чтобы пометить метод как доступный через RemoteViews . Представление имеет это для setVisibility () , но ProgressBar переопределяет этот метод и не имеет аннотации в отдельной редакции. Если @RemotableViewMethod не наследуется, а переопределение «отменяет» аннотацию, это объясняет наблюдаемый вами симптом.

Временным решением является использование двух макетов виджетов приложения и выбор желаемого (с ProgressBar ) или без него при создании объекта RemoteViews при обновлении виджета приложения.

Я сделаю заметку, чтобы попытаться воспроизвести это, и, если я увижу то же самое, я опубликую проблему по этому поводу в системе отслеживания проблем Android .

12
ответ дан 6 December 2019 в 06:13
поделиться
Другие вопросы по тегам:

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