7

アプリ ウィジェットで ProgressBar を使用すると、興味深い状況に遭遇しました... ドキュメント ( http://developer.android.com/guide/topics/appwidgets/index.html ) には、ProgressBar がサポートされているウィジェット クラスであると記載されています。 .

ProgressBar を App Widget に表示するのに問題はありませんが、問題は、バックグラウンド処理が行われているときにユーザーへの視覚的なフィードバックとしてのみ表示されるようにすることです。

ImageViews では、RemoteViews.setViewVisibility() を介してこれを行い、すべて正常に動作します。ただし、ProgressBar を使用すると、ProgressBar はこのメソッドを使用できないという例外が発生します。

これは意図的なものですか、それともバグですか? この問題を回避する方法はありますか?

4

2 に答える 2

17

さらに簡単なアイデアは、進行状況バーをコンテナ内に配置し(線形レイアウトなど)、コンテナを表示/非表示にすることです。

于 2011-08-25T12:56:39.333 に答える
12

バグかもしれません。Android 自体の Java ソース コードには、特定のアノテーション ( @RemotableViewMethod) があり、メソッドを 経由で使用可能であるとマークする必要がありますRemoteViewsViewには thissetVisibility()がありProgressBarますが、そのメソッドをオーバーライドし、独自のエディションには注釈がありません。@RemotableViewMethodが継承されず、オーバーライドが注釈を「元に戻す」場合、表示される症状が説明されます。

回避策は、アプリ ウィジェットを更新するときにオブジェクトProgressBarを作成するときに、2 つのアプリ ウィジェット レイアウトを使用し、必要な方 ( ありまたはなし) を選択することです。RemoteViews

これを再現するためにメモを取り、同じことを見つけた場合は、Android issue trackerに問題を投稿します。

于 2010-03-10T12:14:04.873 に答える