Buongiorno a tutti, sto mettendo giù un programmino in B4A usando B4XPages.
Alla creazione della main page, aggiungo due voci fisse al menù, con B4XPages.AddMenuItem.
Quando l'utente viene verificato e vengono ricevuti i diritti di accesso, nel caso abbia anche quelli amministrativi aggiungo un'ulteriore voce per accedere alla pagina di configurazione.
Mi capita, però, che questa terza voce di menù, aggiunta a posteriori, non appaia fino a che non esco (cambiando pagina) e rientro nella principale.
Qui il primo caricamento:
Private Sub B4XPage_Created (Root1 As B4XView)
Root = Root1
Root.LoadLayout("layMain")
....
B4XPages.AddMenuItem(Me,K.MNU_VERS)
B4XPages.AddMenuItem(Me,K.MNU_EXIT)
btnMenu1.Text="Vita matricola"
....eccetera
End Sub
Dopo il login, quando ho ricevuto i diritti dell'utente, richiamo una sub, dove, se necessario, aggiungo la terza voce di menù:
Private Sub ImpostaMenu(Diritti As String)
msAbilMenu=Regex.Split("",Diritti)
....
If msAbilMenu(5)<>"N" Then
btnMenu6.Visible=True
End If
If msAbilMenu(6)<>"N" Then
'Settimo flag: configurazione
B4XPages.AddMenuItem(Me,K.MNU_CONF)
End If
End Sub
Fatto questo, se guardo il menù ora, ci sono ancora solo due voci. Quando cambio pagina, se rientro nella main la terza voce appare correttamente. Non è un grosso problema, dato che probabilmente chi avrà diritti per accedere alla configurazione sarò solo io, sapendolo farò la manovra per far comparire la configurazione. Solo che mi assilla il fatto di non riuscire a pilotare correttamente il menù.
Se agissi a livello di Activity? Nel caso di più pagine, è sempre la stessa o ce n'è una per pagina (per non riportare il menù anche nelle altre)?
Qualcuno ha qualche idea su come potrei far sì che il menù venga aggiornato fin da subito?
Grazie a tutti