Supongamos que cargo registros de una base de datos en un listview:
B4X:
c=s.ExecQuery("SELECT * FROM sesion ORDER BY fechaInicio DESC")
ListView1.Clear
If c.RowCount>0 Then
For i=0 To c.RowCount-1
c.Position=i
ListView1.AddTwoLines (c.GetString("usuario"), "Fecha: " & c.GetString("fechaInicio") &" Estado: "& c.GetString("estado") &" ID: "& c.GetString("id"))
Next
End If
Como hago para identificar a que item de la lista se le da clic? En caso de poder hacerlo, como modifico o elimino ese item?
Perfecto, muchas gracias por tu ayuda, pude lograr lo que queria, borrar de la base de datos el item seleccionado en el listview.
Dejo el codigo de ejemplo por si a alguien le sirve a futuro:
B4X:
Sub ListView1_ItemClick (Position As Int, Value As Object)
s.ExecNonQuery("DELETE FROM Cliente WHERE Cliente.Id = '" & Value & "'")
listarClientes
End Sub
Sub btnCliente_Click
listarClientes
End Sub
Sub listarClientes
c=s.ExecQuery("SELECT * FROM Cliente")
ListView1.Clear
If c.RowCount>0 Then
For i=0 To c.RowCount-1
c.Position=i
ListView1.AddTwoLines (c.GetString("Id"),"Nombre: " & c.GetString("Nombre") &" Direccion: "& c.GetString("Direccion") &" Telefono: "& c.GetString("Telefono"))
Next
End If
End Sub
Si no era eso, tendras que añadir esto a tu codigo en el caso de añadir dos elementos mas:
B4X:
Sub Globals
Type ListViewData (FirstRow AsString, SecondRow AsString)
...
End Sub
' cargas con datos el ListViewData
For i = 0 to 100
Dim lvd As ListViewData
lvd.Initialize
lvd.FirstRow = "abc"
lvd.SecondRow= "def"
ListView1.AddTwoLines2(lvd.FirstRow, lvd.SecondRow, lvd)
Next
' cuando haces click ...
Sub ListView1_ItemClick(Position As Int, Value As Object)
Dim lvd As ListViewData
lvd = Value
...
End Sub
Si construyes el Layout con el Designer, al seleccionar Generate Members y seleccionarlo, te creará el Dim y se inicializará el Listview sin que haga falta declararlo explícitament por código
Hola Samperizal estoy pensando en utilizar estas ultimas lineas de tu post, para usar los datos leídos de un listview y luego pegarlos en varios editext, el listview tiene 4 columnas, contando la del ID y sólo tendrá un registro (o sea solo una fila con 4 datos) , entonces si quisiera leer esos 4 datos y pasarlos a 4 edittext q podría usar.?