Autore Topic: problema listview  (Letto 900 volte)

Offline dottorm

  • Nuovo arrivato
  • *
  • Post: 18
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    LG Optimus One
  • Sistema operativo:
    Mac OS X
problema listview
« il: 12 Aprile 2011, 20:28:46 CEST »
0
Salve a tutti, mi scuso in anticipo se ho sbagliato sezione ma ho un problema con la rimozione degli elementi da una arraylist.
Allora, l'arraylist mi popola una listview tramite la listview seleziono degli elementi che poi voglio eliminare ma quando lancio il metodo per eliminarli me ne elimina solo la metà. cioe se seleziono 4 elementi mi si cancellano solo 2 elementi e cosi via.
Il codice che uso è questo:

Codice (Java): [Seleziona]
private void deleteSelected(){
                updateSelected(ale);
                ea.notifyDataSetChanged();
        }
       
        private Element pe;
       
        private void updateSelected(ArrayList<Element> ales){
                int i = 0;
                while(i<ales.size()){
                        pe=ales.get(i);
                        if(pe.getState().equals("F")){
                                pe.setInList("F");
                                ales.remove(i);
                                db.open();
                                db.updateList(pe.getName(), pe.getInList());
                    db.close();
                        }
                        i++;
                }
        }
Qualche idea?
Grazie

Offline MarcoDuff

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1073
  • Respect: +202
    • Google+
    • marcoduff
    • Mostra profilo
    • MarcoDuff's Blog
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    MarcoDuff
  • Sistema operativo:
    Windows 7
Re:problema listview
« Risposta #1 il: 13 Aprile 2011, 10:10:59 CEST »
0
Devi postare tutto il codice.

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:problema listview
« Risposta #2 il: 13 Aprile 2011, 13:17:17 CEST »
+1
il problema risiede nel fatto che rimuovi gli elementi dall'ArrayList e continui a ciclare sulla stessa, ma prima degli elementi.
Prova ad usare un Iterator per cicalrci dentro e il metodo remove dell'iterator, che tiene conto di questo.
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline dottorm

  • Nuovo arrivato
  • *
  • Post: 18
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    LG Optimus One
  • Sistema operativo:
    Mac OS X
Re:problema listview
« Risposta #3 il: 16 Aprile 2011, 21:06:44 CEST »
0
il problema risiede nel fatto che rimuovi gli elementi dall'ArrayList e continui a ciclare sulla stessa, ma prima degli elementi.
Prova ad usare un Iterator per cicalrci dentro e il metodo remove dell'iterator, che tiene conto di questo.

Perfetto grazie provo subito ultimamente sono stato un pò impegnato

Offline dottorm

  • Nuovo arrivato
  • *
  • Post: 18
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    LG Optimus One
  • Sistema operativo:
    Mac OS X
Re:problema listview
« Risposta #4 il: 16 Aprile 2011, 21:15:15 CEST »
0
il problema risiede nel fatto che rimuovi gli elementi dall'ArrayList e continui a ciclare sulla stessa, ma prima degli elementi.
Prova ad usare un Iterator per cicalrci dentro e il metodo remove dell'iterator, che tiene conto di questo.

Funziona grazie mille