J'utilise un Drawer identique commun à plusieurs pages. Lorsque l'utilisateur clique sur un bouton du Drawer (quelque soit la page), une routine de cette page l'envoie dans une Sub pour gérer la réponse. L'appel à cette routine contient le code Id de la page en cours et le Tag du bouton
Sub ClicBoutonVolume_Click
Dim IdPage As String = B4XPages.GetManager.GetTopPage.Id
Utils.ClicBoutonsFin(IdPage,Sender)
Dans la Sub de la page "Utils", le programme réalise le process attendu mais je ne sais pas comment programmer la mise à jour d'une View de la page appelante. Pour le moment, il y a un code spécifique pour chaque page :
If IdPage = "video" Then ' Drawer Vidéo
Dim Page2 As Video
Page2 = B4XPages.GetPage("Video") ' Accès aux constantes
Page2.VideoDrawer.LeftOpen=False
If Page2.LastTab.IsInitialized Then ' Efface la ligne = "selected" du Tab
v = Page2.LastTab.GetView(3) ' Le panel inférieur (Tab Selected) est le 4éme
v.Color=Page2.TabsFondColor ' Remet la couleur de fond = "unselected"
End If
Else ' Drawer MP3
Dim Page1 As MusicMP3
Ce n'est pas très "élégant" de programmer autant de retours que de pages appelantes.
La question est comment programmer un retour universel à partir du code ID de la page ?
Il faudrait programmer une page "universelle" et le compilateur n'accepte que les pages déclarées (Page1, Page2,.....)