Thank you for you answer Erel,
theh problem it is that not work if I will call the activitity in the Create, trows an error, this is the code:
Sub Activity_Create(FirstTime As Boolean)
'Do not forget to load the layout file created with the visual designer. For example:
If (FirstTime) Then
DBFileDir = File.DirInternal
DBFileName = clParametros.DbNombre
If File.Exists(DBFileDir, DBFileName) = False Then
DB.Initialize(DBFileDir, DBFileName, True)
'create tables
End If
DB.Initialize(DBFileDir, DBFileName, False)
'load parameters
clParametros.LoadParametros
If clParametros.SessionId.Length=0 Then
StartActivity(acLogin)
End If
End If
Log("create main")
cartBitmap = LoadBitmap(File.DirAssets, "cart.png")
Activity.LoadLayout("1")
ToolbarHelper.Initialize
ToolbarHelper.ShowUpIndicator = True 'set to true to show the up arrow
ToolbarHelper.UpIndicatorDrawable = BitmapToBitmapDrawable(LoadBitmap(File.DirAssets, "hamburger.png"))
ACToolBarLight1.InitMenuListener
sm.Initialize("sm")
Dim offset As Int = 100dip
sm.BehindOffset = offset
sm.Mode = sm.LEFT
Dim lftMenu As Panel
lftMenu.Initialize("")
sm.Menu.AddView(lftMenu, 0, 0, 100%x - offset, 100%y)
lftMenu.LoadLayout("Left")
For i = 1 To 30
ListView1.AddSingleLine("Item " & i)
Next
Dim jo As JavaObject = ACToolBarLight1
Dim xl As XmlLayoutBuilder
jo.RunMethod("setPopupTheme", Array(xl.GetResourceId("style", "ToolbarMenu")))
If StateManager.RestoreState(Activity, "Main", 60) = False Then
'set the default values
' EditText1.Text = "Default text"
' EditText2.Text = "Default text"
End If
End Sub
Sub ACToolBarLight1_NavigationItemClick
sm.ShowMenu
End Sub
Sub Activity_CreateMenu(Menu As ACMenu)
Menu.Clear
Menu.Add(0, 0, "Overflow1", Null)
Menu.Add(0, 0, "Overflow2", Null)
Menu.Add(0, 0, "Overflow3", Null)
Dim item As ACMenuItem = ACToolBarLight1.Menu.Add2(0, 0, "cart", Null)
item.ShowAsAction = item.SHOW_AS_ACTION_ALWAYS
UpdateIcon("cart", AddBadgeToIcon(cartBitmap, badge))
End Sub
The error:
Error occurred on line: 98 (Main)
java.lang.NullPointerException: Attempt to read from field 'anywheresoftware.b4a.BA b4a.example.main.activityBA' on a null object reference
at b4a.example.main._activity_createmenu(main.java:538)
at java.lang.reflect.Method.invoke(Native Method)
at anywheresoftware.b4a.shell.Shell.runMethod(Shell.java:738)
at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:357)
at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:260)
at java.lang.reflect.Method.invoke(Native Method)
at anywheresoftware.b4a.ShellBA.raiseEvent2(ShellBA.java:144)
at b4a.example.main._onCreateOptionsMenu(main.java:786)
at java.lang.reflect.Method.invoke(Native Method)
at anywheresoftware.b4a.BA.runHook(BA.java:160)
at b4a.example.main.onCreateOptionsMenu(main.java:136)
at android.app.Activity.onCreatePanelMenu(Activity.java:3144)
at android.support.v4.app.FragmentActivity.onCreatePanelMenu(FragmentActivity.java:364)
at android.support.v7.view.WindowCallbackWrapper.onCreatePanelMenu(WindowCallbackWrapper.java:93)
at android.support.v7.app.AppCompatDelegateImplBase$AppCompatWindowCallbackBase.onCreatePanelMenu(AppCompatDelegateImplBase.java:332)
at android.support.v7.view.WindowCallbackWrapper.onCreatePanelMenu(WindowCallbackWrapper.java:93)
at android.support.v7.app.ToolbarActionBar.populateOptionsMenu(ToolbarActionBar.java:454)
at android.support.v7.app.ToolbarActionBar$1.run(ToolbarActionBar.java:55)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:907)
at android.view.Choreographer.doCallbacks(Choreographer.java:709)
at android.view.Choreographer.doFrame(Choreographer.java:641)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:893)
at android.os.Handler.handleCallback(Handler.java:836)
at android.os.Handler.dispatchMessage(Handler.java:103)
at android.os.Looper.loop(Looper.java:203)
at android.app.ActivityThread.main(ActivityThread.java:6251)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1063)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:924)
I think that this error es because this when execute this code, the layout not are loaded
#If Java
public boolean _onCreateOptionsMenu(android.view.Menu menu) {
if (processBA.subExists("activity_createmenu")) {
processBA.raiseEvent2(null, true, "activity_createmenu", false, new de.amberhome.objects.appcompat.ACMenuWrapper(menu));
return true;
}
else
return false;
}
#End If
Line 98 it is: Sub Activity_CreateMenu(Menu As ACMenu)
Any idea of how call in Activity_create with out error?