Spanish Me falla el spinner con galaxy s2

javidroid

Member
Buenos días a todos. A ver si alguien me pudiese echar una mano, porque me estoy volviendo loco. El caso es que tengo un spinner creado en diseño, y según la elección que hagamos, se harán unas etiquetas visibles u otras. El caso es que todo funciona bien cuando compilo con b4a en el ordenador, e incluso en otros teléfonos también (galaxy ace, mini...), pero cuando paso el apk al galaxy s2 que tengo y hago click en el spinner, no ocurre nada. Es como si no entrase en la subrrutina de _ItemClick. Esto es parte de mi código. Muchas gracias de antemano (por cierto mi version de android en el móvil es la 4.0.3):

Sub Globals 'defino la variable
Dim CMB As Spinner
end sub


Sub crear_panel 'en esta subrrutina creo el combo

CMB.Initialize("")
ACTIVITY.AddView(CMB,15,25,200,60)
CMB.ADD ("NOMBRE")
CMB.ADD ("CIENTIFICO")
CMB.ADD ("FAMILIA")
CMB.ADD ("PH")
CMB.ADD ("GH")
CMB.ADD ("TEMPERATURA")

end sub

Sub cmb_ItemClick (Position As Int, Value As Object) 'aqui hago visibles unas etiquetasy otras segun el valor del combo
BUSQUEDA=value

If BUSQUEDA="NOMBRE" OR BUSQUEDA="NAME" Then
label1.Visible=True
label2.Visible=False
label3.Visible=False
label4.Visible=False
label6.Visible=False
label8.Visible=False

txtnombre.Visible=True
txtcientifico.Visible=False
txtfamilia.Visible=False
txtph.Visible=False
txtgh.Visible=False
TXTTEMPERATURAMIN.Visible=False
TXTTEMPERATURAMAX.Visible=False
End If
end sub
 

NJDude

Expert
Licensed User
Longtime User
Si creas Views en el designer (en este caso el Spinner) no necesitas hacer esto:
B4X:
CMB.Initialize("")
ACTIVITY.AddView(CMB, 15, 25, 200, 60)

Remueve esas lineas y compila otra vez.

Una cosa mas, cuando uses Activity.AddView, SIEMPRE usa DIP:
B4X:
ACTIVITY.AddView(CMB, 15, 25, 200, 60) '<-- NO

ACTIVITY.AddView(CMB, 15dip, 25dip, 200dip, 60dip) '<-- SI
 

javidroid

Member
Me sigue fallando

En primer lugar gracias por contestar. He revisado lo que me cuentas, pero pero el spinner (cmb) si que lo creo por código, no por diseño, por eso necesito darle las coordenadas. El tema de no ponerlo en valores absolutos ya lo tengo controlado, simplemente he puesto números para facilitar la lectura del código. En realidad lo que hago es ponerlo en función del ancho de la pantalla del móvil: por ejemplo, si quiero que ocupe la mitad pues le asignto activity.widht en la propiedad widht del spinner. Puedes darme alguna pista más. Sigo un poco desconcertado y no se porque no funciona solo en mi galaxy s2 y en los ace si que funciona correctamente. Es como si cuando hago click en el combo, el programa ni se enterase. De echo, en el evento Sub cmb_ItemClick (Position As Int, Value As Object), he puesto un msgbox para que salte cuando hago click en el. Pues bien, en con b4a en el equipo me funciona y cuando paso el apk a un ace tambien, pero cuando lo meto en mi galaxy s2 ni se entera. ¿Sabéis por qué puede ocurrir esto?. Muchas gracias de nuevo
 

javidroid

Member
Gracias por intentarlo

El caso es que eso ya lo probé en su día. Es curioso porque como ya digo el spinner funciona en el pc y en otros móviles y me da que va ha ser por algo del firm del galaxy s2 (ics 4.0.3). De hecho tengo entendido que el flash player no lo gestiona bien y .... aunque eso no tiene nada que ver, seguro que tiene alguna laguna que impide tomar los valores del combo. Al final he optado por un listview, que... aunque no queda todo lo bien que quisiera si que hace su función. Gracias por todo. Un saludo.
 
Top