(android)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:
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();
// Dopo questa chiamata, l'ArrayList "dettagli" sarà invertito
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];
...
...