In B4XPages the (1) Initialization, (2) Registration (Add or AddPageAndCreate) is usually done in B4XMainPage.
When you want to show a page, it can be anywhere in your app.
Creating a page is only done once, usually by loading some layout and running some setup code.
If Show is called and the page has not yet been created it will do it before displaying the page - BUT only the first time.
Creation is a one-time event.
Show triggers "Sub B4XPage_Appear". It has no parameters (By design, since the parameter signature could vary from page to page.)
If the page needs to be modified before being shown it should be done in "Sub B4XPage_Appear".
If you want to pass parameters when showing a page, first set the values of Public variables in that page.
This includes names of page specific functions that you can invoke with CallSub and CallSubDelayed.