Domanda

Mi sono imbattuto in una situazione interessante con l'utilizzo di un ProgressBar in un App Widget ... La documentazione ( http://developer.android.com/guide/topics/appwidgets/index.html ) dice che ProgressBar è una classe widget di supportata ...

Non ho nessun problema a trovare il ProgressBar per visualizzare nella mia app Widget, ma il problema è che io voglio che sia visualizzato solo come feedback visivo all'utente quando l'elaborazione in background sta accadendo.

L'ImageViews faccio questo via RemoteViews.setViewVisibility () e tutto funziona bene. Tuttavia, con ProgressBar ottengo un'eccezione dicendo che ProgressBar non può utilizzare questo metodo.

E 'questo intenzionale o si tratta di un bug? C'è un modo per risolvere questo problema?

È stato utile?

Soluzione

Un'idea ancora più semplice, è quello di mettere la barra di avanzamento all'interno di alcuni contenitori (ad esempio un layout lineare) e mostra / nasconde il contenitore.

Altri suggerimenti

Potrebbe essere un bug. C'è una particolare annotazione (@RemotableViewMethod) è necessario nel codice sorgente Java di Android per sé per contrassegnare un metodo come disponibile tramite RemoteViews. View ha questo per setVisibility(), ma ProgressBar sovrascrive questo metodo e non ha l'annotazione sulla propria edizione. Se @RemotableViewMethod non è ereditaria, e l'override "annulla" l'annotazione, questo spiegherebbe il sintomo che si vede.

Una soluzione è quella di utilizzare due layout app widget e scegliere quello che volete (con o senza ProgressBar) quando si crea l'oggetto RemoteViews quando si aggiorna il tuo widget app.

Farò una nota per cercare di replicare questo e, se vedo la stessa cosa, vi posterò un problema su di esso sul Android issue tracker .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top