Android Question LoadLayout isn't work.

ykucuk

Well-Known Member
Licensed User
Longtime User
Hi,
I created a custom view XUI. I try to load the layout but it crashed.

my code
B4X:
Public Sub DesignerCreateView (Base As Object, Lbl As Label, Props As Map)
 mBase = Base
Tag = mBase.Tag
mBase.Tag = Me
mBase.LoadLayout("LayoutSignage") ' error here.

Error
B4X:
** Activity (main) Resume **
signage mode on
Error occurred on line: 58 (LibSignagePlayer)
java.lang.RuntimeException: java.lang.ClassCastException: b4a.example.libsignageplayer cannot be cast to android.widget.TextView
    at anywheresoftware.b4a.keywords.LayoutBuilder.loadLayout(LayoutBuilder.java:155)
    at anywheresoftware.b4a.objects.PanelWrapper.LoadLayout(PanelWrapper.java:134)
    at anywheresoftware.b4a.objects.B4XViewWrapper.LoadLayout(B4XViewWrapper.java:314)
    at java.lang.reflect.Method.invoke(Native Method)
    at anywheresoftware.b4a.shell.Shell.runMethod(Shell.java:732)
    at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:351)
    at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:255)
    at java.lang.reflect.Method.invoke(Native Method)
    at anywheresoftware.b4a.ShellBA.raiseEvent2(ShellBA.java:157)
    at anywheresoftware.b4a.BA.raiseEvent2(BA.java:205)
    at anywheresoftware.b4a.objects.CustomViewWrapper.AfterDesignerScript(CustomViewWrapper.java:61)
    at anywheresoftware.b4a.keywords.LayoutBuilder.loadLayout(LayoutBuilder.java:147)
    at anywheresoftware.b4a.objects.PanelWrapper.LoadLayout(PanelWrapper.java:134)
    at anywheresoftware.b4a.objects.B4XViewWrapper.LoadLayout(B4XViewWrapper.java:314)
    at b4a.example.main._loadmodule(main.java:580)
    at java.lang.reflect.Method.invoke(Native Method)
    at anywheresoftware.b4a.shell.Shell.runMethod(Shell.java:732)
    at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:351)
    at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:255)
    at java.lang.reflect.Method.invoke(Native Method)
    at anywheresoftware.b4a.ShellBA.raiseEvent2(ShellBA.java:157)
    at anywheresoftware.b4a.BA$2.run(BA.java:395)
    at android.os.Handler.handleCallback(Handler.java:938)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:247)
    at android.app.ActivityThread.main(ActivityThread.java:8676)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)
Caused by: java.lang.ClassCastException: b4a.example.libsignageplayer cannot be cast to android.widget.TextView
    at anywheresoftware.b4a.objects.CustomViewWrapper.AfterDesignerScript(CustomViewWrapper.java:44)
    at anywheresoftware.b4a.keywords.LayoutBuilder.loadLayout(LayoutBuilder.java:147)
    ... 28 more

I'm missing something but what is it?
 

teddybear

Well-Known Member
Licensed User
Hi,
I created a custom view XUI. I try to load the layout but it crashed.

my code
B4X:
Public Sub DesignerCreateView (Base As Object, Lbl As Label, Props As Map)
 mBase = Base
Tag = mBase.Tag
mBase.Tag = Me
mBase.LoadLayout("LayoutSignage") ' error here.

[/code]

I'm missing something but what is it?
You are missing Sleep(0) before doing loadlayout.
B4X:
Public Sub DesignerCreateView (Base As Object, Lbl As Label, Props As Map)
    mBase = Base
    Tag = mBase.Tag
    mBase.Tag = Me
    Sleep(0)   
    mBase.LoadLayout("LayoutSignage")
 
Upvote 0
Top