Spanish Error loading bitmap

Jorgelcr

Active Member
Licensed User
Longtime User
Hola,

Estoy creando un "minijuego" que va mostrando imágenes aleatoriamente en un imageview hasta que se hace clic en el botón de "stop"

El proceso funciona correctamente, pero en alguna ocasión muestra el error:
"An error has occurred in sub:ruleta_timer1_tick" ..... java.lang.RuntimeException:Error loading bitmap.Continue?"

El codigo que tengo en timer1_tick es el siguiente:

B4X:
Sub Timer1_Tick

If numeroempresas >0  Then
     numeroimagen=Rnd(0,numeroempresas)
     empresasrul=empresas.Get(numeroimagen)
               
     ImageView1.Bitmap=LoadBitmap(File.DirDefaultExternal,empresasrul.logo)
   
           

End If
    
End Sub

Alguna idea porque puede dar este error??
 

rscheel

Well-Known Member
Licensed User
Longtime User
Hola,

Estoy creando un "minijuego" que va mostrando imágenes aleatoriamente en un imageview hasta que se hace clic en el botón de "stop"

El proceso funciona correctamente, pero en alguna ocasión muestra el error:
"An error has occurred in sub:ruleta_timer1_tick" ..... java.lang.RuntimeException:Error loading bitmap.Continue?"

El codigo que tengo en timer1_tick es el siguiente:

B4X:
Sub Timer1_Tick

If numeroempresas >0  Then
     numeroimagen=Rnd(0,numeroempresas)
     empresasrul=empresas.Get(numeroimagen)
              
     ImageView1.Bitmap=LoadBitmap(File.DirDefaultExternal,empresasrul.logo)
  
          

End If
   
End Sub

Alguna idea porque puede dar este error??

Seguramente no encuentra la imagen que busca, coloca un log(empresarul) antes del imagen ImageView1 para ver el valor que entrega cuando se cae.
 

bgsoft

Well-Known Member
Licensed User
Longtime User
Hola

Lo que te ha respondido Rscheel es lo que te pasa, y posiblemente te pase por que igual no sabes que el rnd el primer valor está incluido en el que puede coger, pero el segundo no, asi que si no existe una imagen 0 (cero) por eso te da error. O tambén podria ser por el Get de empresas, cuenta que un list va desde 0 a NombreDelList.size-1 , si tu numero de empresas es igual a 5 tu List lo ha cargado del Get(0) al Get(4), si haces referencia al 5 te da error.
Para estos caso lo mejor es poner log y sobre todo correr la aplicación en modo debug, por que cuando tengas un error te dirá en que número de linea, y en este caso tienes dos sitios.

Aparte del log que te dijo rschell, cuando hagas una carga de imagen ponle un control de errores, asi evitas que salga el error:
B4X:
Sub Timer1_TickIf numeroempresas >0Then
 numeroimagen=Rnd(0,numeroempresas)
 empresasrul=empresas.Get(numeroimagen)
 
 Try
     ImageView1.Bitmap=LoadBitmap(File.DirDefaultExternal,empresasrul.logo)
  Catch
      Log("Error al cargar imagen " & empresasrul.logo)
   End Try

 EndIf
 End Sub

Saludos
 
Top