Frage

ich in eine interessante Situation lief eine ProgressBar in einer App Widget mit der Verwendung ... Die Dokumentation ( http://developer.android.com/guide/topics/appwidgets/index.html ) sagt, dass ProgressBar eine unterstützte Widget-Klasse ist ...

Ich habe kein Problem, die ProgressBar immer in meinem App Widget angezeigt werden, aber das Problem ist, dass ich es will nur als visuelle Rückmeldung an den Benutzer angezeigt werden, wenn die Hintergrundverarbeitung geschieht.

Auf ImageViews Ich tue dies über RemoteViews.setViewVisibility () und alles funktioniert. Doch mit ProgressBar erhalte ich eine Ausnahme sagen, dass ProgressBar diese Methode nicht verwenden kann.

Ist dies absichtlich oder ist das ein Fehler? Gibt es eine Möglichkeit, dieses Problem zu umgehen?

War es hilfreich?

Lösung

Eine noch einfachere Idee, ist der Fortschrittsbalken im Inneren einiger Behälter (zB eine lineare Layout) und ein- / ausblenden, den Behälter zu setzen.

Andere Tipps

Es könnte ein Fehler sein. Es gibt eine besondere Anmerkung (@RemotableViewMethod) müssen Sie in dem Java-Quellcode von Android selbst über RemoteViews ein Verfahren als verfügbar zu markieren. View hat dies für setVisibility(), aber ProgressBar überschreibt diese Methode und nicht die Anmerkung auf seine eigene Ausgabe. Wenn @RemotableViewMethod nicht vererbt wird, und der Override „rückgängig gemacht“ die Anmerkung, dass würde erklären, das Symptom Sie sehen.

Eine Abhilfe ist, zwei App-Widget-Layout zu verwenden, und die, die Sie möchten (mit oder ohne ProgressBar) wählen, wenn Sie Ihr RemoteViews Objekt erstellen, wenn Sie Ihren App-Widget zu aktualisieren.

Ich werde eine Notiz machen, um zu versuchen dies und zu replizieren, wenn ich die gleiche Sache zu sehen, werde ich ein Problem Post auf es auf dem Android issue tracker .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top