Grazie mille!
Thank you very much!
Nell'esempio di klaus questo non avviene: il drawer e i due layout (CenterPanel e LeftPanel) sono inizializzati nel modulo mdlDrawer mentre gli eventi dei pulsanti nei moduli B4XPageX. Quindi questa non è una regola.
In klaus's example this is not true: the drawer and both layouts (CenterPanel e LeftPanel) are initialized in mdlDrawer module but the buttons events in B4XPage modules. Then, this is not a rule.
Iniziamo col chiamare le cose col loro nome, altrimenti ci perdiamo.
mdlDrawer, creato da te, precisamente è una Classe, non un Modulo di codice (*) (motivo per cui, tra l'altro, dargli quel nome, con quel prefisso "mdl" e dare alle sue istanze (oggetti) il prefisso "mod" è molto fuorviante).
Nel progetto ci sono 4 istanze (oggetti) della
classe mdlDrawer, ognuna dichiarata privata ed initializzata in una
classe B4XPage. La classe mdlDrawer ha un oggetto di tipo B4XDrawer e lo "espone", dato che è dichiarato Public.
Gli eventi associati alle B4XView della "parte sinistra" del Drawer vengono gestiti nella tua classe mdlDrawer perché è in questa che viene caricato il layout, il cui nome gli viene passato dall'interno di quelle 4 B4XPage.
Quindi:
Quindi questa non è una regola.
quella è una regola, gli eventi delle view (o B4XView) devono stare nella classe in cui il layout viene caricato.
(*) [Nota che un modulo di codice, oltre a non poter essere istanziato - ovvero creare oggetti da esso, "copie" diciamo, non può contenere-gestire eventi]