Spanish jfeinstein10 SlidingMenu library dentro de un panel

tomky

Active Member
Licensed User
Hola.
Estoy utilizando la clase ActionBar.
Creé 2 paneles en la actividad, uno para el ActionBar (pnlAB) y el otro para el contenido (pnlMain)
Pero también estoy utilizando el jfeinstein10 SlidingMenu library.
Esta librería me desplaza los dos paneles.

¿Hay alguna manera de meter este SlidingMenu dentro del panel de abajo, el del contenido, para que no me desplace el panel que hace de ActionBar?

Al intentar meter el SlidingMenu con pnlMain.AddView(sm, 0, 0, 100%x, 100%y) me da el error:
java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.

Y al intentar forzar a situarlo en la actividad con Activity.AddView(sm, 0, pnlAB.Height, 100%x, 100%y) me da el mismo eror.
¿Cuál es su padre?

Gracias.
 
Last edited:

Myr0n

Active Member
Licensed User
Longtime User
Puedes subir un proyecto demo de hasta donde lo tienes y el error completo de log porfavor.
Asi mas de alguien te puede tirar un cable.
 

tomky

Active Member
Licensed User
Vale Myron.
En un caso muestra:
B4X:
2
Error occurred on line: 83 (Main)
java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
    at android.view.ViewGroup.addViewInner(ViewGroup.java:3337)
    at android.view.ViewGroup.addView(ViewGroup.java:3208)
    at android.view.ViewGroup.addView(ViewGroup.java:3188)
    at anywheresoftware.b4a.objects.PanelWrapper.AddView(PanelWrapper.java:65)
    at flm.b4a.actionbardemo.main._activity_create(main.java:511)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at anywheresoftware.b4a.shell.Shell.runMethod(Shell.java:702)
    at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:339)
    at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:246)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at anywheresoftware.b4a.ShellBA.raiseEvent2(ShellBA.java:134)
    at flm.b4a.actionbardemo.main.afterFirstLayout(main.java:102)
    at flm.b4a.actionbardemo.main.access$000(main.java:17)
    at flm.b4a.actionbardemo.main$WaitForLayout.run(main.java:80)
    at android.os.Handler.handleCallback(Handler.java:605)
    at android.os.Handler.dispatchMessage(Handler.java:92)
    at android.os.Looper.loop(Looper.java:137)
    at android.app.ActivityThread.main(ActivityThread.java:4424)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
    at dalvik.system.NativeStart.main(Native Method)
** Activity (main) Resume **

Y el otro caso:
B4X:
** Activity (main) Create, isFirst = true **
2
Error occurred on line: 84 (Main)
java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
    at android.view.ViewGroup.addViewInner(ViewGroup.java:3337)
    at android.view.ViewGroup.addView(ViewGroup.java:3208)
    at android.view.ViewGroup.addView(ViewGroup.java:3188)
    at anywheresoftware.b4a.objects.ActivityWrapper.AddView(ActivityWrapper.java:123)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at anywheresoftware.b4a.shell.Shell.runVoidMethod(Shell.java:747)
    at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:342)
    at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:246)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at anywheresoftware.b4a.ShellBA.raiseEvent2(ShellBA.java:134)
    at flm.b4a.actionbardemo.main.afterFirstLayout(main.java:102)
    at flm.b4a.actionbardemo.main.access$000(main.java:17)
    at flm.b4a.actionbardemo.main$WaitForLayout.run(main.java:80)
    at android.os.Handler.handleCallback(Handler.java:605)
    at android.os.Handler.dispatchMessage(Handler.java:92)
    at android.os.Looper.loop(Looper.java:137)
    at android.app.ActivityThread.main(ActivityThread.java:4424)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:511)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
    at dalvik.system.NativeStart.main(Native Method)
** Activity (main) Resume **

Gracias.
 

Attachments

  • MiActionBar2.zip
    16.6 KB · Views: 290

Myr0n

Active Member
Licensed User
Longtime User
He probado tu demo,
Lo que hice fue,
Ajuste la ruta de #AdditionalRes
Agregue 2 imagenes al proyecto, agarre una de las que tengo y le coloque el nombre que se mencionan en las lineas 57 y 58

B4X:
    Bitmap1.Initialize(File.DirAssets, "icon.png")
    Bitmap2.Initialize(File.DirAssets, "menu.png")

Luego,
compile en modo debug y lo instale en mi dispositivo y voila!

funciona,

que aprendemos de esto?

te adjunto pantallas.

Saludos
Screenshot_2016-04-06-09-10-41.png Screenshot_2016-04-06-09-10-54.png Windows.png
 
Last edited:

Myr0n

Active Member
Licensed User
Longtime User
Por favor marca el titulo de esta pregunta al inicio como [SOLUCIONADO]
Para que otros que andan en busca de respuestas se beneficien.

Si tienes otra pregunta que NO este relacionado con este tema, por favor, abre otro nuevo thread.

Gracias.
 

tomky

Active Member
Licensed User
Perdona Myron.
Quizás me expliqué mal.
Lo que yo quiero es que el SlidingMenu no desplace al panel que hace de ActionBar (con la clase ActionBar)
 

Myr0n

Active Member
Licensed User
Longtime User
No hay problema, fui yo que no explique que lo que quería era un demo de tu proyecto con el error, para poderlo debuguiar y encontrar una solucion, en otras palabras reproducir el error que Tu haces mencion en tu hilo.
 

tomky

Active Member
Licensed User
Ok.
¿jfeinstein10 SlidingMenu library también controla una barra de acción propia? ¿Una barra de arriba? ¿Cómo?
 
Top