Autore Topic: Ordina mesi ListView  (Letto 331 volte)

Offline C_G

  • Utente junior
  • **
  • Post: 69
  • Respect: 0
    • Mostra profilo
Ordina mesi ListView
« il: 06 Maggio 2014, 17:52:45 CEST »
0
Ciao, ho una ListView popolata dai 12 mesi dell'anno e per ogni mese vengono associati i dati prelevati dal database.
Sono in ordine crescente, ora vorrei dare la possibilità di scegliere se visualizzarli in ordine crescente o decrescente.
Avete qualche idea? posto il codice con l'Adapter e ArrayList...

Codice: [Seleziona]
private void mesi(String anno){
                SQLiteDatabase db = new ResgistroSpeseHelper(getActivity()).getReadableDatabase();
                final List<Dettaglio> dettagli = new ArrayList<MesiFragment.Dettaglio>(12);
               
                        for (int i=1; i<=12; i++){
                        String mese;
                        if (i<10){
                                mese = "0"+i;
                        } else {
                                mese = ""+i;
                        }
                       
                        String sql = "SELECT SUM(punteggio) FROM punti WHERE data LIKE '"+anno+"-"+mese+"%'";
                        Cursor c = db.rawQuery(sql, null);
                       
                        while (c.moveToNext()){
                                Dettaglio d = new Dettaglio();
                                               
                                d.punteggio = c.getDouble(0);
                                                               
                                dettagli.add(d);
                        }
                       
                        c.close();
                }
               
                db.close();
                Collections.reverse( dettagli );
                ListAdapter adapter = new ArrayAdapter<Dettaglio>(getActivity(), R.layout.dettaglio_punteggi, R.id.tv_mese, dettagli){
                       
                        @Override
                        public View getView(int position, View convertView, ViewGroup parent) {
                                View row = super.getView(position, convertView, parent);
                               
                                final String month = new DateFormatSymbols(Locale.getDefault()).getMonths()[position];
...
...
                               
« Ultima modifica: 07 Maggio 2014, 17:37:19 CEST da C_G »

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Ordina mesi ListView
« Risposta #1 il: 06 Maggio 2014, 18:17:42 CEST »
0
Questo ti dovrebbe aiutare, almeno come spunto:

Ordinare un arraylist di una listview - Android Developers Italia
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline C_G

  • Utente junior
  • **
  • Post: 69
  • Respect: 0
    • Mostra profilo
Re:Ordina mesi ListView
« Risposta #2 il: 07 Maggio 2014, 17:37:00 CEST »
0
Risolvo cambiando la query e ordinare i dati in base ai mesi.
Grazie
« Ultima modifica: 07 Maggio 2014, 17:44:17 CEST da C_G »