Hola a todos,
me he quedado encallado en la aplicación que estoy programando. Muestro un label en pantalla durante unos segundos. Para detener la ejecución utilizo un do/loop. Aquí el código:
B4X:
Dim actual As Long
actual=DateTime.Now+ 24000
DoWhileDateTime.Now < actual
DoEvents
Loop
El problema es que durante esos 24 segundos el usuario debería poder clickar el label y quitarlo de la pantalla. Tengo un 'sub label_Click' pero por mucho que el usuario pulsa el label no se ejecuta el código del sub. Imagino que es porque se está ejecutando el do/loop.
No me he expresado bien. Muestro un label en pantalla y el usuario, o bien puede esperar 24 segundos a que el label se oculte de forma automática (esto ya lo tengo hecho) o bien no quiera esperar ese tiempo y decida quitarlo por su cuenta clicando en el label. Esa es la parte no resuelta.
As vampirbcn already told you you should use a Timer to hide the Label.
With your code you slow down the system a lot.
This code will do it:
B4X:
Sub Process_Globals
Dim Timer1 As Timer
End Sub
Sub Globals
Dim lblTest As Label
End Sub
Sub Activity_Create(FirstTime As Boolean)
lblTest.Initialize("lblTest")
Activity.AddView(lblTest, 10dip, 10dip, 150dip, 50dip)
lblTest.Text = "Test"
lblTest.TextSize = 16
Timer1.Initialize("Timer1", 24000)
Timer1.Enabled = True
End Sub
Sub lblTest_Click
lblTest.Visible = False
Timer1.Enabled = False
End Sub
Sub Timer1_Tick
lblTest_Click
End Sub
I changed the code using timers but for one reason I don´t understand the event label_click doesn´t run when I click over the label. These is the code:
B4X:
Sub Process_Globals
dim time1 as timer
end sub
Sub Globals
dim lbl2 as label
end sub
Sub Activity_Create(FirstTime As Boolean)
introduccion
end sub
Sub introducción
lbl2.Initialize("")
Activity.AddView(lbl2, 5%x, 0, 90%x, 60%y)
lbl2.text="Example"
time1.Initialize("Time1", 12000)
time1.Enabled = True
end sub
Sub time1_Tick
lbl2_click
end sub
Sub lbl2_Click
time1.enabled=false
.
.
.
end sub
When the timer arrives to 12 seconds the label click event runs as well but through clicking the screen doesn´t work. Is there any problem with activity views?