German Hilfe bei Fehlermeldung

peternmb

Well-Known Member
Licensed User
Longtime User
Hallo,
ich komme bei einer Fehlermeldung einfach nicht weiter.
Bei meinem Tablet mit Android-12 funktioniert alles fehlerfrei,
bei meinem Smartphone mit Android-13 stürzt die App ab.

Ich habe im Log gefunden, wo die App abstürzt verstehe aber absolut nicht warum.
Hier der Codeabschnitt:
B4X:
    ...
    pnl.AddView(lbl1, 55dip,198dip,120dip,40dip)
    pnl.AddView(lbl2, 55dip,220dip,120dip,25dip)
    pnl.AddView(edt1,180dip,193dip,245dip,125dip)
    '   
    Log("OK 2")
    '       
    pnl.width=720dip
    '
    Log("OK 3")
    '
    pnl.Left=100dip
    '
    Log("nicht OK")
    '
Im Log wird mir "OK 3" noch angezeigt, dann Absturz
OK 1
OK 2
OK 3
main_radiopdf2_checkedchange (java line: 22477)
java.lang.ClassCastException: android.widget.FrameLayout$LayoutParams cannot be cast to anywheresoftware.b4a.BALayout$LayoutParams
at anywheresoftware.b4a.objects.ViewWrapper.setLeft(ViewWrapper.java:182)
at pbit.skat.listenfuehrer2.main._radiopdf2_checkedchange(main.java:22477)
at java.lang.reflect.Method.invoke(Native Method)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:221)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:205)
at anywheresoftware.b4a.objects.CompoundButtonWrapper$RadioButtonWrapper$RadioButtonListener.onCheckedChanged(CompoundButtonWrapper.java:145)
at android.widget.CompoundButton.setChecked(CompoundButton.java:222)
at android.widget.CompoundButton.toggle(CompoundButton.java:139)
at android.widget.RadioButton.toggle(RadioButton.java:82)
at android.widget.CompoundButton.performClick(CompoundButton.java:144)
at android.view.View.performClickInternal(View.java:7484)
at android.view.View.-$$Nest$mperformClickInternal(Unknown Source:0)
at android.view.View$PerformClick.run(View.java:29472)
at android.os.Handler.handleCallback(Handler.java:942)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:8046)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:703)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:911)
 

peternmb

Well-Known Member
Licensed User
Longtime User
Problem gelöst, du hast mich auf die richtige Spur gebracht.
Bei kleinen Displays gibt es ein pnl.RemoveView da dort das Panel durch ein ScrollView ersetzt wird.

Was etwas seltsam ist und die Fehlersuche nicht vereinfacht:
pnl.Height=350dip 'funktioniert
pnl.Width=432dip 'funktioniert
pnl.Left=150dip 'Absturz
Da gehe ich doch dann, nachdem das Setzen der Größe funktioniert davon aus, dass mit dem Panel alles OK ist...
 

klaus

Expert
Licensed User
Longtime User
Da gehe ich doch dann, nachdem das Setzen der Größe funktioniert davon aus, dass mit dem Panel alles OK ist...
Nicht unbedingt, die Breite und Höhe hängen nicht von der Elternview ab.
Dir Position, Left und Top hängen von der Elternview ab. Das System muss die Elternview kennen um die Kinderviews positionieren zu können.
 
Top