Sub Globals
Dim BarraSuperior As StdActionBar ' lo declaras por ejemplo asi
...
Sub Activity_Create(FirstTime As Boolean)
BarraSuperior.Initialize("Barra") ' lo inicializas
BarraSuperior.ShowUpIndicator = True ' activas el icono de ir hacia atras
...
' este es el sub cuando lo pulsas
Sub Activity_ActionBarHomeClick
End Sub
Sub Globals
Private ActionBar As ACToolBarDark
Dim ABHelper As ACActionBar
End Sub
Sub Activity_Create(FirstTime As Boolean)
ActionBar.SetAsActionBar
ActionBar.InitMenuListener
ABHelper.Initialize
ABHelper.ShowUpIndicator = True
End Sub
Sub ActionBar_NavigationItemClick
Activity.Finish
End Sub
Si estas usando appCompat, se hace de la siguiente manera
B4X:Sub Globals Private ActionBar As ACToolBarDark Dim ABHelper As ACActionBar End Sub Sub Activity_Create(FirstTime As Boolean) ActionBar.SetAsActionBar ActionBar.InitMenuListener ABHelper.Initialize ABHelper.ShowUpIndicator = True End Sub Sub ActionBar_NavigationItemClick Activity.Finish End Sub
** Service (starter) Create **
** Service (starter) Start **
** Activity (main) Create, isFirst = true **
** Activity (main) Resume **
** Activity (main) Pause, UserClosed = false **
** Activity (farmacia) Create, isFirst = true **
farmacia_activity_create (java line: 364)
java.lang.RuntimeException: Object should first be initialized (ACToolBarDark).
at anywheresoftware.b4a.AbsObjectWrapper.getObject(AbsObjectWrapper.java:50)
at de.amberhome.objects.appcompat.ACToolBarWrapper.SetAsActionBar(ACToolBarWrapper.java:310)
at guia.digital.sc.farmacia._activity_create(farmacia.java:364)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:169)
at guia.digital.sc.farmacia.afterFirstLayout(farmacia.java:102)
at guia.digital.sc.farmacia.access$000(farmacia.java:17)
at guia.digital.sc.farmacia$WaitForLayout.run(farmacia.java:80)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3683)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
farmacia_activity_create (java line: 364)
java.lang.RuntimeException: Object should first be initialized (ACToolBarDark).
at anywheresoftware.b4a.AbsObjectWrapper.getObject(AbsObjectWrapper.java:50)
at de.amberhome.objects.appcompat.ACToolBarWrapper.SetAsActionBar(ACToolBarWrapper.java:310)
at guia.digital.sc.farmacia._activity_create(farmacia.java:364)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:169)
at guia.digital.sc.farmacia.afterFirstLayout(farmacia.java:102)
at guia.digital.sc.farmacia.access$000(farmacia.java:17)
at guia.digital.sc.farmacia$WaitForLayout.run(farmacia.java:80)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3683)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
at dalvik.system.NativeStart.main(Native Method)
Prove con los 2 metodos como me has dichoo tu bgsoft y como me dijo rschel y obtendo error.
Debo inicial izar antes o despues de LoadLayout ? (de todas maneras prove de las 2 formas y me da el mismo problema.)
Sub Globals
Private ACToolBarDark As ACToolBarDark 'Este nombre debe ser el mismo de la barra del layout
Dim ABHelper As ACActionBar
End Sub
Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("Layout")
ACToolBarDark.SetAsActionBar
ACToolBarDark.InitMenuListener
ABHelper.Initialize
ABHelper.ShowUpIndicator = True
End Sub
Sub ACToolBarDarkDatosDap_NavigationItemClick
Activity.Finish
End Sub
Depende, si la barra la estas generando por código debes inicializar y si es por diseñador no es necesario, no tienes que agregar al layout esos controles, solo basta con ese código
Para poder ayudarte mejor podrías postear algo de código.
Primero que nada la versión de android que estas usando es completamente incompatible con appcompact, segundo guíate por el ejemplo que te deje mas arriba.Creo que con esta imagen se ve todo claramente
1° Como cambio la versión de Android y por cual?Primero que nada la versión de android que estas usando es completamente incompatible con appcompact, segundo guíate por el ejemplo que te deje mas arriba.
1° Como cambio la versión de Android y por cual?
2° Entendido!
Gracias
Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("Layout1")
BarraSuperior.Initialize("Barra") ' lo inicializas
BarraSuperior.ShowUpIndicator = True ' activas el icono de ir hacia atras
End Sub
Acabo de probar en mi telefono que tiene Android 6 en modo DEBUG y con el codigo este
B4X:Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("Layout1") BarraSuperior.Initialize("Barra") ' lo inicializas BarraSuperior.ShowUpIndicator = True ' activas el icono de ir hacia atras End Sub
y me da el error en esta Linea BarraSuperior.Initialize("Barra") ' lo inicializas
"Barra" a que hace referencia ?
Sub Globals
Private ACToolBarDark As ACToolBarDark 'Este nombre debe ser el mismo de la barra del layout
Dim ABHelper As ACActionBar
End Sub
Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("Layout")
ACToolBarDark.SetAsActionBar
ACToolBarDark.InitMenuListener
ABHelper.Initialize
ABHelper.ShowUpIndicator = True
End Sub
Sub ACToolBarDarkDatosDap_NavigationItemClick
Activity.Finish
End Sub
Estimado por favor use este código, que le deje mas arriba, cambie los nombres por los que tenga su app y eso es todo, y si por si no entiende por favor adjunte su proyecto para poder ayudarlo mejor.
B4X:Sub Globals Private ACToolBarDark As ACToolBarDark 'Este nombre debe ser el mismo de la barra del layout Dim ABHelper As ACActionBar End Sub Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("Layout") ACToolBarDark.SetAsActionBar ACToolBarDark.InitMenuListener ABHelper.Initialize ABHelper.ShowUpIndicator = True End Sub Sub ACToolBarDarkDatosDap_NavigationItemClick Activity.Finish End Sub
https://dl.dropboxusercontent.com/u/53113728/Retroceso.rar
Hola estoy reproduciendo el error que obtengo en este proyecto empezado desde cero para ver si clarifica el problema.
(no se como se inserta un adjunto aqui ya que nunca lo hice por eso comparto el enlace)
Todo mal lo que estaba haciendo, el archivo adjunto que le dejo es como se hace y funciona.
https://dl.dropboxusercontent.com/u/3155037/Retroceso.zip
Todo mal lo que estaba haciendo, el archivo adjunto que le dejo es como se hace y funciona.
HOLA amigo de nuevo molestando sabes que llevo este sencillo codigo a mi app y me falla !!
He incluido el Layout de mi proyecto en el ejemplo que me enviaste y podrás ver que no funciona y no se porque a pesar de que reviso y pruebo diferentes situaciones.
https://dl.dropboxusercontent.com/u/53113728/Retroceso.rar