2010-03-05 6 views
3

J'écris un widget d'écran d'accueil. Est-il possible d'ajouter une vue, par ex. ImageView, à un widget d'écran d'accueil à travers RemoteViews? Je veux générer les vues pour le widget d'écran d'accueil de manière dynamique.Puis-je ajouter dynamiquement un widget Afficher à l'écran d'accueil?

Merci.

  updateViews = new RemoteViews(context.getPackageName(), R.layout.widget_news); 

      updateViews.setTextViewText(R.id.widget_title, mTitle); 

      updateViews.setImageViewBitmap(R.id.widget_picture, 
         BitmapFactory.decodeByteArray(image, 0, image.length)); 

Mon code est comme ci-dessus. Mais quand j'appelle updateViews.addView(aView), mon IDE ne m'a pas permis de le faire et de me donner une erreur de compilation.

Répondre

1

Chaque fois que vous utilisez RemoteViews, vous apportez la définition de votre interface utilisateur au widget de l'application. Vous voulez plus Views? Utilisez simplement une disposition appropriée à ce stade lors de la création de l'instance RemoteViews.

+0

J'ai modifié mon message en ajoutant un exemple de code. J'ai essayé d'appeler updateViews.addView (aView), mais j'ai échoué. Des pensées? – user256239

+0

Comme je l'ai écrit, "Il suffit d'utiliser une mise en page appropriée à ce moment lors de la création de l'instance de RemoteViews". Vous remarquerez que votre code de mise à jour appelle de nouvelles RemoteViews() et fournit une mise en page. Si vous souhaitez une mise en page différente pour le widget de l'application, passez à l'utilisation d'un fichier de mise en page différent. – CommonsWare

+0

Que faire si je veux générer dynamiquement les vues dans RemoteViews? Par exemple, je lis des images d'une base de données. La première fois, je récupère 3 photos, donc je crée 3 ImageViews dans les RemoteViews. La prochaine fois, je récupère 5 images, puis je crée 5 ImageViews dans les RemoteViews du widget. C'est possible? Merci. – user256239

Questions connexes