Spanish Cómo inicializar/Vaciar un campo B4XView?

aja

Member
Buen día colegas,
En un formulario tengo un campo ImageView1 As B4XView, para guardar una foto.
La 1a. Add el campo está vacío y cargo la foto todo bien.
La 2a. Add el campo tiene la img anterior y necesito inicializar/vaciar y no lo puedo lograr.
Alguien sabe? Gracias
'B4A'
Private ImageView1 As B4XView
'...'
'Intento así pero me da error'
Dim bmp As B4XBitmap
ImageView1.SetBitmap(bmp)
'java.lang.RuntimeException: Object should first be initialized (B4XBitmap).'
 

josejad

Expert
Licensed User
Longtime User
Hola:

Usa etiquetas [code] ... pega tu código aquí... [/code] cuando pegues código, para que sea más legible.
Crea un pequeño proyecto reproduciendo el problema y súbelo que podamos probarlo.

Dónde inicializas bmp? Qué significa "La 1a.Add"?

B4X:
Dim bmp As B4XBitmap = xui.LoadBitmap(File.DirAssets, "imagen.jpg") 'por ejemplo
ImageView1.SetBitmap(bmp)
 

aja

Member
Tengo un formulario para Agregar (Add)/Editar (Edit) registros de una tabla SQLite.
B4X:
Sub Class_Globals
    Private Root As B4XView 'ignore
    Private xui As XUI 'ignore
    '...
    'entre los campos tengo esta ImageView1 para la foto
    Private ImageView1 As B4XView
    '...
End Sub

Public Sub ShowEntry(EntryIndex As Int)
    'Cuando tengo que Agregar (Add) un registro nuevo, tengo que vaciar los campos
    If Capturas.Mode = "Add" Then
        'lblRowID.Text = ""
        edtEquipo.Text = ""
        edtEspecie.Text = ""
        cmbEspecies.SelectedIndex = 0
        edtMedida.Text = ""
        rbtnCaptura1.Checked = True
        rbtnCaptura2.Checked = False
         ImageView1.SetBitmap(?)
        'No sé cómo vaciar el campo ImageView1, porque queda cargado con la foto anterior
        'Lo cargo con:  ImageView1.SetBitmap(bmp)

No sé si ahora me explico?
Gracias José
 

angel_

Well-Known Member
Licensed User
Longtime User
Estoy con José, si puedes sube un ejemplo, quizás un Sleep(0) te pueda servir pero mejor ver el código completo.
 

josejad

Expert
Licensed User
Longtime User
No sé si ahora me explico?
Prueba
B4X:
ImageView1.Bitmap = null

Si lo declaras como B4XView, podrías hacerlo con:
B4X:
B4XView.RemoveViewFromParent

saludos,

P.D. No sé por qué vi los post #4 y #5 pero no veía el #3. Supongo que Erel lo aprobó después que escribieran Roer y Ángel. Si no vuelvo a revisar el hilo por el nuevo que ha puesto, no veo ese post.
 
  • Like
Reactions: aja

aja

Member
Prueba
B4X:
ImageView1.Bitmap = null

Si lo declaras como B4XView, podrías hacerlo con:
B4X:
B4XView.RemoveViewFromParent

saludos,

P.D. No sé por qué vi los post #4 y #5 pero no veía el #3. Supongo que Erel lo aprobó después que escribieran Roer y Ángel. Si no vuelvo a revisar el hilo por el nuevo que ha puesto, no veo ese post.
Ninguna de las 2. Por ahora me erreglé con
B4X:
ImageView1.Visible = False
hasta que encuentre el método. Gracias @José J. Aguilar
 
Top