Autore Topic: Nascondere/visualizzare righe su listview in base ai valori contenuti  (Letto 640 volte)

Offline lelesuper

  • Nuovo arrivato
  • *
  • Post: 15
  • Respect: 0
    • Mostra profilo
Ciao a tutti,
non riesco a risolvere un problema nella gestione di una listview con un custom ArrayAdapter.

In pratica la mia listview contiene delle righe d'ordine con alcuni textview (codice, descrizione articolo, unità di misura, quantità ecc.) ed alcune immagini.
Vorrei filtrare, nascondendole, le righe della listview (senza modificare i dati dell'adapter) in base ad alcuni semplici criteri :
  • righe con quantità ordinata maggiore di zero. Esempio ho 100 articoli nella listiview, ma solo 3 sono stati ordinati, vorrei con un  tasto poter vedere solamente le 3 righe ordinate e con un altro tasto rivisualizzare di nuovo tutte le 100 righe.
  • righe di articoli con una certa unità di misura
Mi sono fermato però al primo obiettivo... in pratica con le righe di codice sottostante (del metodo "getView"), mi aspettavo che le righe con quantità a zero sparissero dalla listview, invece rimangono visibili anche se svuotate del loro contenuto.

Codice: [Seleziona]
if(myOrdineRow.getQta_Ordinata() > 0)
   convertView.setVisibility(View.VISIBLE);
else
   convertView.setVisibility(View.GONE);
   

Spero di essere stato sufficientemente chiaro.
Grazie a tutti per l'aiuto.

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Nascondere/visualizzare righe su listview in base ai valori contenuti
« Risposta #1 il: 24 Febbraio 2012, 18:40:49 CET »
0
Che tipo di adapter usi?

Offline lelesuper

  • Nuovo arrivato
  • *
  • Post: 15
  • Respect: 0
    • Mostra profilo
Re:Nascondere/visualizzare righe su listview in base ai valori contenuti
« Risposta #2 il: 25 Febbraio 2012, 18:19:02 CET »
0
Ciao,
sono agli inizi della programmazione sia di Java che Android quindi spero di aver capito la tua domanda.
L'adapter che uso estende un ArrayAdapter

Codice: [Seleziona]
public class RowStoricoAdapter extends ArrayAdapter<RowStorico>
...

public RowStoricoAdapter(Context context, int resourceId, ArrayList<RowStorico> newItems)

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
Re:Nascondere/visualizzare righe su listview in base ai valori contenuti
« Risposta #3 il: 26 Febbraio 2012, 14:35:28 CET »
0
Hai capito correttamente la domanda :)
Secondo me la soluzione più pulita è quella di creare un custom Filter e andare appunto a filtrare la lista in base alle condizioni che ti servono.
Trovi un esempio qui:
http://stackoverflow.com/a/2726348

Offline lelesuper

  • Nuovo arrivato
  • *
  • Post: 15
  • Respect: 0
    • Mostra profilo
Re:Nascondere/visualizzare righe su listview in base ai valori contenuti
« Risposta #4 il: 27 Febbraio 2012, 12:25:31 CET »
0
Grazie per la segnalazione, vi terrò aggiornati.

Offline lelesuper

  • Nuovo arrivato
  • *
  • Post: 15
  • Respect: 0
    • Mostra profilo
Re:Nascondere/visualizzare righe su listview in base ai valori contenuti
« Risposta #5 il: 28 Febbraio 2012, 18:20:47 CET »
0
alla fine ho risolto sfruttando il metodo getFilter dell'adapter, che già utilizzavo per filtrare i prodotti della listview tramite descrizione articolo.
Ho aggiunto altri criteri nel filtro ed ora riesco a filtrare la mia listivew secondo le mie esigenze, per quantità, tipo articolo ecc.

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
R: Re:Nascondere/visualizzare righe su listview in base ai valori contenuti
« Risposta #6 il: 28 Febbraio 2012, 18:30:53 CET »
0
alla fine ho risolto sfruttando il metodo getFilter dell'adapter, che già utilizzavo per filtrare i prodotti della listview tramite descrizione articolo.
Ho aggiunto altri criteri nel filtro ed ora riesco a filtrare la mia listivew secondo le mie esigenze, per quantità, tipo articolo ecc.

Ottimo ;-)

Inviato dal mio HTC Desire usando Tapatalk