Android Question It won't allow me to load a second listview

Mikhail ivan

New Member
Mi codigo listview:
#Region  Activity Attributes
    #FullScreen: True
    #IncludeTitle: False
#End Region

Sub Process_Globals
   
End Sub
Sub Globals
'    Elelemntos que se cargan al cargar el diseño
    Dim ListView1 As ListView
    Dim Cont As Int = 0
    Private ContRegCliente As Label
    Private SpinnConsultC As Spinner
   
'    Elelemntos que se cargan al apretar un elemento de la lista
    Private pnlviewdetallesclient As Panel
    Private lbImagdetalleC As ImageView
    Private lbIDdetalleC As Label
    Private lbNombredetalleC As Label
    Private lbActivdetalleC As Label
    Private lbdiasSemdetalleC As Label
    Private lbComienFdetalleC As Label
    Private lbComienFFdetalleC As Label
    Private lbPreciodetalleC As Label
    Private lbDeudadetalleC As Label
    Private lbEstaddetalleC As Label
    Private btSalirdetallesC As Button
   
'    Elelemntos que se cargan al apretar un elemnto del spinner
    Private ConsultaIntC1 As EditText
    Private ConsultaIntC2 As EditText
    Private ConsultaStringC As EditText
    Private BuscConsultaC As Button
    Private ListView2 As ListView
End Sub

Sub Activity_Create(FirstTime As Boolean)
    Activity.LoadLayout("ListadoCliente")
'     Invocamos la funcion para crear el listview
'    CrearcionyCargaListView
    LLenarSpinner
'    ListView1.Visible = True
    ContRegCliente.Visible = True
    SpinnConsultC.Visible = True
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub

Sub Comillas(dt As String) As String
    Return "'" & dt & "'"
End Sub


'Sub CrearcionyCargaListView
''    Limpiamos ListView antes de cargarlo
'    ListView1.Clear
'
'  
'' Creación del ListView
'    CrearListV
'  
''  
''    Realizamos la consulta y por medio de un For llenamos el ListView
'    Dim Busc As String = "Select IDCliente,ApellidoNombre,Actividad,Estado from Cliente ORDER BY ApellidoNombre ASC;"
'    Dim Cursor As Cursor
'    Cursor = dbutils.SQL.ExecQuery(Busc)
'
'    For i = 0 To Cursor.RowCount - 1
'        Cursor.Position = i
'        ListView1.AddTwoLinesAndBitmap(Cursor.GetString("ApellidoNombre"),Cursor.GetString("Actividad"),LoadBitmap(File.DirAssets,"siluetacliente.png"))
'        Cont = i + 1
'    Next
'  
'    ContRegCliente.Text = Cont
'    Activity.AddView(ListView1, 0, 25%y, 100%x, 75%y)
'End Sub

Sub ListView1_ItemClick (Position As Int, Value As Object)
   
''    Mostramos el panel de detalles de los registros del listview
    pnlviewdetallesclient.Visible = True
    lbImagdetalleC.Visible = True
    lbIDdetalleC.Visible = True
    lbNombredetalleC.Visible = True
    lbActivdetalleC.Visible = True
    lbdiasSemdetalleC.Visible = True
    lbComienFdetalleC.Visible = True
    lbComienFFdetalleC.Visible = True
    lbPreciodetalleC.Visible = True
    lbDeudadetalleC.Visible = True
    btSalirdetallesC.Visible = True
   
''    Ocultamos el ListView, contador de registros y el boton mas opciones de listado
    ListView1.Visible = False
    ContRegCliente.Visible = False
    SpinnConsultC.Visible = False
'  
'    Bloque de codigo para extraer el nombre del cliente
    Dim t1 As String
    Try
        t1 =ListView1.GetItem(Position )
       
        ToastMessageShow("Registros cargados correctamente",True)
    Catch
        ToastMessageShow("Ocurriò un error",True)
    End Try
   
    Dim Busc As String = "Select IDCliente,ApellidoNombre,Actividad,DiaSemanas,DiaFechaInic,MesFechaInic,AñoFechaInic,DiaFechaFin,MesFechaFin,AñoFechaFin,Precio,Deuda,Estado from Cliente where ApellidoNombre = " & Comillas(t1) & ";"
    Dim Cursor As Cursor
    Cursor = dbutils.SQL.ExecQuery(Busc)
   
    For i = 0 To Cursor.RowCount - 1
    Cursor.Position = i
   
        lbNombredetalleC.Text = Cursor.GetString("ApellidoNombre")
        lbActivdetalleC.Text = "Actividad que realiza: " & Cursor.GetString("Actividad")
        lbdiasSemdetalleC.Text = "La cantidad de dia que asiste: " & Cursor.GetInt("DiaSemanas")
        lbComienFdetalleC.Text = "Fecha de comienzo " & Cursor.GetInt("DiaFechaInic") &"/"& Cursor.GetInt("MesFechaInic") &"/"& Cursor.GetInt("AñoFechaInic")
        lbComienFFdetalleC.Text = "fecha de finalizaciòn " &Cursor.GetInt("DiaFechaFin") &"/"& Cursor.GetInt("MesFechaFin") &"/"& Cursor.GetInt("AñoFechaFin")
        lbPreciodetalleC.Text = "Pago por mes: $" & Cursor.GetInt("Precio")
        lbDeudadetalleC.Text = "Adueda: $" &Cursor.GetInt("Deuda")
        lbEstaddetalleC.Text = "Estado del cliente: " & Cursor.GetString("Estado")
        lbIDdetalleC.Text = "ID: " & Cursor.GetInt("IDCliente")
        Dim Estad As String = Cursor.GetString ("Estado")
       
    Próximo
'  
    Si Estad == "Dado de baja" Entonces
        lbIDdetalleC.TextColor = Colors.Red
        lbNombredetalleC.TextColor = Colors.Red
        lbActivdetalleC.TextColor = Colors.Red
        lbdiasSemdetalleC.TextColor = Colors.Red
        lbComienFdetalleC.TextColor = Colors.Red
        lbComienFFdetalleC.TextColor = Colors.Red
        lbPreciodetalleC.TextColor = Colors.Red
        lbDeudadetalleC.TextColor = Colors.Red
        lbEstaddetalleC.TextColor = Colors.Red
       
    Demás
        lbIDdetalleC.TextColor = Colors.White
        lbNombredetalleC.TextColor = Colors.White
        lbActivdetalleC.TextColor = Colors.White
        lbdiasSemdetalleC.TextColor = Colors.White
        lbComienFdetalleC.TextColor = Colors.White
        lbComienFFdetalleC.TextColor = Colors.White
        lbPreciodetalleC.TextColor = Colors.White
        lbDeudadetalleC.TextColor = Colors.White
        lbEstaddetalleC.TextColor = Colors.White
           
    Terminara si
End Sub


Sub privado bt SalidadetallesC_Click
    '' Mostramos el panel de detalles de los registros del listview
    pnlviewdetallesclient.Visible = Falso
    lbImagdetalleC.Visible = Falso
    lbIDdetalleC.Visible = Falso
    lbNombredetalleC.Visible = Falso
    lbActivdetalleC.Visible = Falso
    lbdiasSemdetalleC.Visible = Falso
    lbComienFdetalleC.Visible = Falso
    lbComienFFdetalleC.Visible = Falso
    lbPreciodetalleC.Visible = Falso
    lbDeudadetalleC.Visible = Falso
    bt SalidadetallesC.Visible = Falso
   
    '' Ocultamos el ListView, contador de registros y el boton mas opciones de listado
    ListView1.Visible = True
    ContRegCliente.Visible = True
    SpinnConsultC.Visible = Verdadero

   
End Sub

Sub CrearListV
    ListView1.Initialize ("ListView1")
    ListView1.TwoLinesAndBitmap.ItemHeight = 60dip
    ListView1.TwoLinesAndBitmap.Label.Typeface = Tipo de letra.SANS_SERIF
    ListView1.TwoLinesAndBitmap.SecondLabel.Typeface = Tipo de letra.DEFAULT_BOLD

    ListView1.TwoLinesAndBitmap.Label.Color = Colors.RGB (41, 107, 8)
    ListView1.TwoLinesAndBitmap.SecondLabel.Color = Colors.Transparent
    ListView1.TwoLinesAndBitmap.Label.Text = 50dip
    ListView1.TwoLinesAndBitmap.SecondLabel.Text = 5dip
    ListView1.TwoLinesAndBitmap.SecondLabel.TextColor = Colors.Black
    ListView1.FastScrollEnabled = True
   
End Sub

Sub LLenarSpinner
    SpinnConsultC.DropdownBackgroundColor = Colors.DarkGray
    SpinnConsultC.DropdownTextColor = Colors.White
    SpinnConsultC.Add ("Opciones de consultas")
    SpinnConsultC.Add ("Consultar. Por nombre")
    SpinnConsultC.Add ("Consultar por actividad")
    SpinnConsultC.Add ("Consultar por mes")
    SpinnConsultC.Add ("Rango de precios")
    SpinnConsultC.Add ("Rango de deudas")
    SpinnConsultC.Add ("Estado del cliente")
End Sub


Private Sub SpinnConsultC_ItemClick (posición como int, valor como objeto)
    Dim Posic As Int = Posición
    BuscConsultaC.Visible = Verdadero
    Seleccione Posic
        Caso 1"
            ConsultaStringC.Visible = True
            ConsultaIntC1.Visible = False
            ConsultaIntC2.Visible = False
            ListView1.Enabled = Falso
        Caso "2"
            ConsultaStringC.Hint = "Ejempl: Giro"
            ConsultaStringC.Visible = True
            ListView1.Enabled = Falso
        Caso "3"
            ConsultaIntC1.Visible = True
            ConsultaIntC2.Visible = True
            ConsultaStringC.Visible = False
            ListView1.Enabled = Falso
        Caso "4"
            ConsultaIntC1.Hint = "Ejempl: $ 350"
            ConsultaIntC2.Hint = "Ejempl: $ 350"
            ConsultaIntC1.Visible = True
            ConsultaIntC2.Visible = True
            ConsultaStringC.Visible = False
            ListView1.Enabled = Falso
        Caso "5"
            ConsultaIntC1.Hint = "Ejempl: $ 350"
            ConsultaIntC2.Hint = "Ejempl: $ 350"
            ConsultaIntC1.Visible = True
            ConsultaIntC2.Visible = True
            ConsultaStringC.Visible = False
            ListView1.Enabled = Falso
        Caso "6"
            ConsultaIntC1.Visible = False
            ConsultaIntC2.Visible = False
            ConsultaStringC.Hint = "Ejempl: Activo / Dado de baja"
            ConsultaStringC.Visible = True
            ListView1.Enabled = Falso
        Caso otro
            ToastMessageShow ("No ha seleccionado ninguna consulta", True)
            ConsultaIntC1.Visible = False
            ConsultaIntC2.Visible = False
            ConsultaStringC.Visible = False
    Finalizar Seleccionar
   
   
End Sub

Private Sub ConsultaStringC_TextChanged (antiguo como cadena, nuevo como cadena)
    Si New.Length> 15, entonces ConsultaStringC.Text = Old
End Sub



Subbus privadocConsultaC_Click
'' Fragmento de codigo para retornar un valor del spinner
    Dim PosicSpinner como cadena
    PosicSpinner = SpinnConsultC.getitem (SpinnConsultC.SelectedIndex)
   
    ListView2.Initialize ("ListView2")
    ListView2.TwoLinesAndBitmap.ItemHeight = 60dip
    ListView2.TwoLinesAndBitmap.Label.Typeface = Tipo de letra.SANS_SERIF
    ListView2.TwoLinesAndBitmap.SecondLabel.Typeface = Tipo de letra.DEFAULT_BOLD

    ListView2.TwoLinesAndBitmap.Label.Color = Colors.RGB (41, 107, 8)
    ListView2.TwoLinesAndBitmap.SecondLabel.Color = Colors.Transparent
    ListView2.TwoLinesAndBitmap.Label.Text = 50dip
    ListView2.TwoLinesAndBitmap.SecondLabel.Text = 5dip
    ListView2.TwoLinesAndBitmap.SecondLabel.TextColor = Colors.Black
    ListView2.FastScrollEnabled = True
   
    ListView1.Visible = Falso
    ListView2.Clear
'' Select para realizar la consulta
    Seleccione PosicSpinner
        Caso "Consultar. Por nombre"
            ListView2.Visible = True
            ContRegCliente.Visible = Falso
'ListView1.Clear
            Dim Busc As String = "Seleccione ApellidoNombre, Actividad, Estado de Cliente donde ApellidoNombre LIKE '_" & ConsultaStringC.Text & "_';"
            Atenuar el cursor como cursor
            Cursor = dbutils.SQL.ExecQuery (Busc)

            Para i = 0 al cursor.RowCount - 1
                Cursor.Position = i
                Dim NombreAp As String = Cursor.GetString ("ApellidoNombre")
                Dim Actividades como cadena = Cursor.GetString ("Actividad")
                ListView2.AddTwoLinesAndBitmap (NombreAp, Actividades, LoadBitmap (File.DirAssets, "siluetacliente.png"))
'Cont = i + 1
            Próximo
            Activity.AddView (ListView2, 0, 25% y, 100% x, 75% y)
'ContRegCliente.Text = Cont
           
        Caso "Consultar por actividad"
           
        Caso "Consultar por mes"
           
        Caso "Rango de precios"
           
        Caso "Rango de deudas"
           
        Caso "Estado del cliente"
       
        Caso otro
            ToastMessageShow ("Ocurriò un error al realizar la consulta deseada", True)
           
    Finalizar Seleccionar

He cargado una ruleta con datos y, según lo que elija el usuario, aparece un cuadro de texto para ingresar valores. la pregunta es que cuando doy el botón para realizar la consulta en sqlite, no aparece la segunda vista de lista con los resultados. No se que estoy haciendo mal
 

Mikhail ivan

New Member
I have loaded a spinner with data and depending on what the user chooses, a text box appears to enter values. the question is that when I give the button to perform the query in sqlite, the second listview with the results does not appear. I do not know what I'm doing wrong
 
Upvote 0

Andrew (Digitwell)

Well-Known Member
Licensed User
Longtime User
Before going too far see the first item in this list.


You should be using CustomListView
 
Upvote 0

josejad

Expert
Licensed User
Longtime User
Hi Mikhail:

First of all, do what Digitwell says, stop working with ListView y usa CustomListView.
Your code have been translated so is hard to understand and follow, it would be better if you upload a small project we can test.

If you feel more comfortable with the spanish, you can post in the Spanish Forum

 
Upvote 0
Top