Spanish (SOLUCIONADO) ¿Cómo detectar que el menú derecho de un "jfeinstein10-slidingmenu" ha sido cerrado?

Seneca

Active Member
Licensed User
Hola.

Estoy trabajando con un menú deslizante lateral usando la librería: https://www.b4x.com/android/forum/threads/jfeinstein10-slidingmenu-library.36482/#content, y más concretamente con el menú secundario (el derecho).

Aunque la librería no implementa un evento que detecte cuándo se abre este menú, he podido incluirlo mediante Java según este hilo.

Ahora estoy trabajando en detectar cuándo se pulsa la tecla "atrás" en el dispositivo, para cerrar este menú si se encontrase abierto. Lo que no consigo es la forma de saber si el menú ya ha sido cerrado, deslizando el dedo, para que en ese caso no tener que detectar una posible pulsación en "atrás".

Por lo que he revisado aquí, parece que esta librería no tiene ningún método que detecte que el menú secundario (el derecho) ha sido cerrado.

¿Se le ocurre a alguien algún método alternativo?

Posiblemente la solución esté aquí: https://findusages.com/search/com.j...menu.lib.SlidingMenu/isSecondaryMenuShowing$0 pero no tengo conocimientos para interpretar esta información correctamente.

Saludos.
 
Last edited:

Seneca

Active Member
Licensed User
Me auto contesto. No me había dado cuenta que la propia librería tiene la propiedad SecondaryVisible. Basta con consultarla en el momento de detectar una pulsación en "atrás".

Además, también he encontrado la manera de implementar el evento que detecta el cierre del menú. Parece que este evento es común para el menú izquierdo y el derecho:

B4X:
 Dim jo As JavaObject = sm
    Dim event As Object = jo.CreateEventFromUI("com.jeremyfeinstein.slidingmenu.lib.SlidingMenu$OnCloseListener", "Close", Null)
    jo.RunMethod("setOnCloseListener", Array(event))

Sub Close_Event (MethodName As String, Args() As Object) As Object
  ...........
  ...........
End Sub

Saludos.
 
Last edited:

Yorvic22

Member
Me auto contesto. No me había dado cuenta que la propia librería tiene la propiedad SecondaryVisible. Basta con consultarla en el momento de detectar una pulsación en "atrás".

Además, también he encontrado la manera de implementar el evento que detecta el cierre del menú. Parece que este evento es común para el menú izquierdo y el derecho:

B4X:
 Dim jo As JavaObject = sm
    Dim event As Object = jo.CreateEventFromUI("com.jeremyfeinstein.slidingmenu.lib.SlidingMenu$OnCloseListener", "Close", Null)
    jo.RunMethod("setOnCloseListener", Array(event))

Sub Close_Event (MethodName As String, Args() As Object) As Object
  ...........
  ...........
End Sub

Saludos.
Thank you very much, I have 2 days looking for this solution, it worked perfectly for me, genius !!
 
Top