Cosa devo usare in un progetto B4X (per la versione B4J) nelle righe dove ho usato ToastmessageShow?
Stavo per provare questa libreria di @lonleystar ma credo che non funzioni piu bene da una certa versione di android in poi.
Non c'è il ToastMessageShow per le B4XPages?
Non confonderti. Forse volevi chiedere se esista un ToastMessage che sia B4X, crossplatform, unico per B4A, B4J e B4i. Le B4XPages non c'entrano (anche se pure queste sono crossplatform).
Credo di no, B4X non ne ricordo (ma cercherò); ne ricordo una per B4J, cui avevo aggiunto un'immagine... raccapricciante ? (cerco anche questa)
Non confonderti. Forse volevi chiedere se esista un ToastMessage che sia B4X, crossplatform, unico per B4A, B4J e B4i. Le B4XPages non c'entrano (anche se pure queste sono crossplatform).
Maestro mi ilumini: Se scelgo un progetto con le B4Xpages, non è un progetto Crossplatform? (non è una cosa che implicita l'altra?)
Comunque come avrai capito il progettino è in B4A funzionante ma quando lo lancio in B4J mi da tutti gli errori nelle istruzioni che hanno il ToastMessageShow
Immagno che dovrò usare il
B4X:
#If B4A
ToastMessageShow(msgErr, False)
#Else if B4J
'che ce metto?....
#End If
Funziona anche in B4J, senza cambiare una virgola:
B4X:
#Region Shared Files
#CustomBuildAction: folders ready, %WINDIR%\System32\Robocopy.exe,"..\..\Shared Files" "..\Files"
'Ctrl + click to sync files: ide://run?file=%WINDIR%\System32\Robocopy.exe&args=..\..\Shared+Files&args=..\Files&FilesSync=True
#End Region
'Ctrl + click to export as zip: ide://run?File=%B4X%\Zipper.jar&Args=Project.zip
Sub Class_Globals
Private Root As B4XView
Private xui As XUI
Private mBCToast As BCToast
End Sub
Public Sub Initialize
' B4XPages.GetManager.LogEvents = True
End Sub
'This event will be called once, before the page becomes visible.
Private Sub B4XPage_Created (Root1 As B4XView)
Root = Root1
Root.LoadLayout("MainPage")
mBCToast.Initialize(Root)
End Sub
'You can see the list of page related events in the B4XPagesManager object. The event name is B4XPage.
Private Sub Button1_Click
mBCToast.Show("Message")
End Sub
Si funziona.
Ora non so se sostituire tutti i "ToastMessageShow" nel codice B4A con questa libreria esterna o lasciarli ed utiliizzarla solo per B4J con le varie
B4X:
#If B4A
ToastMessageShow(msgErr, False)
#Else if B4J
mBCToast.Show(msgErr)
#End If
Si funziona.
Ora non so se sostituire tutti i "ToastMessageShow" nel codice B4A con questa libreria esterna o lasciarli ed utiliizzarla solo per B4J con le varie
B4X:
#If B4A
ToastMessageShow(msgErr, False)
#Else if B4J
mBCToast.Show(msgErr)
#End If
Ha ovviamente bisogno del pannello Root delle pagina in cui vuoi visualizzarlo.
O fai come hai detto, un oggetto BCToast in ogni pagina, o mettilo nella MainPage, scrivi un metodo (Sub) pubblico in questa, di nome ShowToast, ad esempio...
Ecco, scrivo direttamente l'esempio ?
Perfetto. Solo che la metterò nel mio modulo di codice GL dove ho tutye le cose a livello globale.
Mi è antipatico chiamare
B4X:
B4XPages.MainPage.ShowToast("Viva i sarchiaponi nani", Root)
'troppo lungo
'preferisco avere in GL
Public Sub ShowToast1(Msg As String, Pnl As B4XView)
B4XPages.MainPage.ShowToast(Msg, Pnl)
End Sub
e nelle pagine dove mi occorre
GL.ShowToast1("Viva i sarchiaponi nani", Root)