French Création widget : Questions

Bonjour je souhaite créer un widget.
Pour le moment mon widget ne se compose que d' un panel et d' un bouton. Pour essayer la manipulation des widgets, je voudrais que lorsque que je clic sur le label une variable s' incrémente et s' affiche dans un label.

Seulement j' ai bien réussi à créer physiquement le widget, j' ai créé pour se faire un service. (comme le dit les tutos à cet effet).

Seulement je ne comprends pas ou mettre l' événement clic de mon bouton. J' ai tout essayé mais je n' y arrive pas.

Merci de votre aide.
 

Informatix

Expert
Licensed User
Longtime User
Bonjour je souhaite créer un widget.
Pour le moment mon widget ne se compose que d' un panel et d' un bouton. Pour essayer la manipulation des widgets, je voudrais que lorsque que je clic sur le label une variable s' incrémente et s' affiche dans un label.

Seulement j' ai bien réussi à créer physiquement le widget, j' ai créé pour se faire un service. (comme le dit les tutos à cet effet).

Seulement je ne comprends pas ou mettre l' événement clic de mon bouton. J' ai tout essayé mais je n' y arrive pas.

Merci de votre aide.

Je n'ai pas encore écrit de widget, donc je n'ai pas de réponse pratique. Si tu initialises ton bouton comme d'habitude (MyBtn.Initialize("MyBtn")), tu ne déclenches rien dans MyBtn_Click ?
 

Laurent95

Active Member
Licensed User
Longtime User
Bonjour je souhaite créer un widget.
Pour le moment mon widget ne se compose que d' un panel et d' un bouton. Pour essayer la manipulation des widgets, je voudrais que lorsque que je clic sur le label une variable s' incrémente et s' affiche dans un label.

Seulement j' ai bien réussi à créer physiquement le widget, j' ai créé pour se faire un service. (comme le dit les tutos à cet effet).

Seulement je ne comprends pas ou mettre l' événement clic de mon bouton. J' ai tout essayé mais je n' y arrive pas.

Merci de votre aide.

Bonjour,
Normalement si tu assignes un layout à ton widget tu dois pouvoir implémenter les événements click de tous tes contrôles, images, labels, etc.
Il faut assigner cette "view" à ton widget par la méthode suivante dans le code du widget :
Sub Process_Globals
Dim rv As RemoteViews
Ensuite tu colles cette initialisation dans la création du widget
Sub Service_Create
'configure the widget and set it to update every 24 hours (1440 minutes).
rv = ConfigureHomeWidget("WidgetLayout", "rv", 1440, "xxxxxxxxx")
où xxxxx est le nom du widget que tu veux donner et WidgetLayout est le layout utilisé

Et alors dans le designer tu peux, avec un click droit sur un contrôle générer la racine de l'événement click dans le code du widget. Le reste c'est b4a qui s'occupe de compiler.

En espérant que cela t'aide.

Cordialement.
Laurent

P.S. :
Tu peux ajouter ceci aussi dans la Sub ci-dessous, cela fait revenir à une attente d'action utilisateur :
Sub Service_Start (StartingIntent As Intent)
'Verify if the intent on the widget is ok and return to wait action from user
If rv.HandleWidgetEvents(StartingIntent) Then Return
End Sub
Dans l'ordre ton widget appelle Service_Create, puis Service_Start et, si il est mis à la poubelle ou stoppé, Service_Destroy
 
Last edited:
Top