Custom List View duvida

Discussion in 'Portuguese Forum' started by Condata Informatica, Jun 10, 2019.

  1. Condata Informatica

    Condata Informatica Member Licensed User

    Boas pessoal,

    é a primeira vez que trabalho com o custom list view, e estou necessitando
    pegar os Index da CustomListView onde tiver o Valor da Quantidade > 0

    tentei alguns metodos porem não obtive sucesso, alguem tem alguma solução ?

    Como a imagem descreve![​IMG]
     

    Attached Files:

  2. Cableguy

    Cableguy Expert Licensed User

    Que metodos tentaste?
    que queres fazer com os indexes?

    O mais simples sera fazer um ciclo for next para correr todos os indexes e selecionar os de valor zero
     
    Condata Informatica likes this.
  3. MaxRosa

    MaxRosa Member Licensed User

    Experimente esse código:

    Code:
    For c = CLV.Size - 1 To 0 Step -1
    Dim p As B4XView = CLV.GetPanel(c)
    If p.GetView(3).Text = "0" Then
    CLV.RemoveAt(c)
    'Ou faz outra coisa
    End If

    Next
     
    Last edited: Jun 10, 2019
    Condata Informatica likes this.
  4. Condata Informatica

    Condata Informatica Member Licensed User

    foi isto, porem ele acusa erro:
    java.lang.NumberFormatException: For input string: "(EditText): Left=936, Top=0, Width=288, Height=200, Tag=, Text=10.0"
    ou seja ele puxa todos os valores do index,
    eu preciso somente dos Index que tiverem a Quantidade superior 0
    e pegar somente o Label.text e o edit.text.

    ou uma forma de pegar tudo e atribuir somente essas duas propriedades



    Code:
    For i=0 To CustomListViewPRODUTOSESCALONADOS.Size -1
              
    Dim iv As ItemValue = CustomListViewPRODUTOSESCALONADOS.GetValue(i)
                    
    If iv.EditTextQTDECustomListView.Text>0 Then
                           
    Log(CustomListViewPRODUTOSESCALONADOS.GetValue(i))
                     
    End If
    Next
     
    Last edited: Jun 10, 2019
  5. MaxRosa

    MaxRosa Member Licensed User

    Aqui você está testando se o Text é maior que 0 e não o conteúdo é maior que 0:

    Code:
    If iv.EditTextQTDECustomListView.Text>0 Then
    O Edit.Text é uma string. Você precisa pegar o conteúdo do edit, passar para uma variável int e verificar se o valor é maior que zero.
     
    Condata Informatica likes this.
  6. Condata Informatica

    Condata Informatica Member Licensed User

    Hum, porem pra passar como conteudo , eu devo armazenar na EditTextQTDECustomListView.tag ? o valor da quantidade, isto, se é o que eu entendi ?
     
  7. Condata Informatica

    Condata Informatica Member Licensed User

    montei um Trecho de codigo porem o mesmo fica retorno todos os indexes da lista o que pode ser que estou deixando passar ?
    Code:
    Sub Find_items_customLSTview
        
    Dim i As Int 
        
    Dim iv As ItemValue= CustomListViewPRODUTOSESCALONADOS.GetValue(i)
        
    Dim qtdeItems As Int =0
       
            
    For i=0 To  CustomListViewPRODUTOSESCALONADOS.Size -1
           
            qtdeItems = iv.EditTextQTDECustomListView.Text
            
    If qtdeItems > 0 Then
                
    Log(CustomListViewPRODUTOSESCALONADOS.GetValue(i))
            
    End If
        
    Next
       
    End Sub
    OBS: mesmo setando no inicio ou no fim do for o qtdeitems =0 ele sempre entra no if dando o log de todos os Indexes,

    mas deveria trazer somente o dos que tem o edtQTDE > 0

    alguma sugestão ?
     
  8. MaxRosa

    MaxRosa Member Licensed User

    Posta um projeto de exemplo pra mim dar uma olhada e ver onde estar o erro.
     
  9. Condata Informatica

    Condata Informatica Member Licensed User

    consegui resolver com este Trecho de codigo,
    Obrigado pelo seu tempo e pela grande ajuda Max!!
    Code:
    For i=0 To CustomListViewPRODUTOSESCALONADOS.Size -1
            
    Dim pnl As B4XView = CustomListViewPRODUTOSESCALONADOS.GetPanel(i)
            
    Dim edtText As B4XView = pnl.GetView(0).GetView(2)
            
    If edtText.Text > 0 Then
                
    Log"Yes " & CustomListViewPRODUTOSESCALONADOS.GetValue(i))
            
    End If
        
    Next
     
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice