Gracias Descartex, pero como te digo este evento es justamente lo que no me funciona.
Adjunto log del error que me da
lib2:Raising.. reference_ondatachange()
java.lang.Exception: Sub reference_ondatachange signature does not match expected signature.
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:188)
at anywheresoftware.b4a.BA$2.run(BA.java:360)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5219)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:898)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693)
Por mas que he buscado en los foros y en google no pudedo solucionar. Agradeceria si alguien tiene un codigo que le funcione y lo pueda compartir.
Me contesto yo mismo. Al parecer estaba mal planteada la llamada al metodo ondatachange.
Despues de muchas pruebas me ha funcionado de esta forma:
Sub Reference_onDataChange(snapshot As Object, tag As Object)
xxxxxxxxxxx
End Sub