Autore Topic: Problema list Adapter  (Letto 361 volte)

Offline Kris

  • Utente junior
  • **
  • Post: 56
  • Respect: 0
    • Mostra profilo
Problema list Adapter
« il: 11 Settembre 2013, 15:32:33 CEST »
0
Ciao a tutti, dopo giorni di lavoro sono riuscito a creare questo codice con il quale ottengo l'anno corrente (2013) e inserisco questo valore in uno spinner:
Codice (Java): [Seleziona]
if (years.size() == 0){
                        int currentYear = Calendar.getInstance().get(Calendar.YEAR);
                        years.add(currentYear+"");
                }
.....
e qui ci siamo.
questo codice mi serve per popolare lo stesso spinner se vengono trovati record all'interno del db:
Codice (Java): [Seleziona]
private List<String> ottieniAnni(){
                List<String> result = new LinkedList<String>();
               
                SQLiteDatabase db = new BilHelper(this).getReadableDatabase();
               
                String sql = "SELECT DISTINCT strftime('%Y',"+GiornTable.DATA+") FROM "+GiornTable.TABLE_NAME;
                Cursor c = db.rawQuery(sql, null);
               
                while (c.moveToNext()){
                        result.add(c.getString(0));
                }
                db.close();
                return result;
        }
e anche questo è ok

Ora in base alla scelta dell'anno nello spinner devo elencare alcuni valori in una listview ma con il codice che ho creato (ho letto alcune guide in giro, non ho trovato guide che fanno al caso mio) ho alcuni errori dai quali non riesco a uscire.
Se avete voglia di dare una letta al mio codice e darmi una mano sarei molto felice.
Questo è il metodo getView e non riesco a completarlo:
Codice (Java): [Seleziona]
@Override
                        public View getView(int position, View convertView, ViewGroup parent) {
                                View row = super.getView(position, convertView, parent);
                               
                                                               
                                TextView tvEnt, tvCat;
                                tvEnt = (TextView) row.findViewById(R.id.tv_totale_group);
                                                               
                                tvCat = (TextView) row.findViewById(R.id.tv_categorie_group);
                                                       
                               
                                Dettaglio d = dettagli.get(position);
                                                               
                                tvCat.setText(d.cat+"");
                                tvEnt.setText(d.ent+"");
                               
                                return row;
                        }
                };
                               
                lista.setAdapter(adapter);             
        }
e questa è la funzione con la query che mi permette di estrarre i record dal db:
Codice (Java): [Seleziona]
private void showDetails(String anno){
                SQLiteDatabase db = new BilHelper(this).getReadableDatabase();
                final List<Dettaglio> dettagli = new ArrayList<Dettaglio>();
               
               
                        String sql ="SELECT Cat, SUM(Ent) FROM Giorn WHERE ent>0 AND data LIKE '"+anno+"-%' GROUP BY Cat";
                        Cursor c = db.rawQuery(sql, null);
                       
                        while (c.moveToNext()){
                                Dettaglio d = new Dettaglio();
                               
                                d.cat = c.getString(0);
                                d.ent = c.getFloat(1);
                               
                               
                                dettagli.add(d);
                        }
                        c.close();
                }
               
                db.close();
               
                ListAdapter adapter = new ArrayAdapter<Dettaglio>(this, R.layout.dettaglio_categorie_entrate, R.id.tv_totale_group, dettagli){
                       

Offline matttt

Re:Problema list Adapter
« Risposta #1 il: 12 Settembre 2013, 13:13:26 CEST »
0
Che errori ?

Non ho controllato in dettaglio il getView che hai postato ma se vuoi qui c'è un tutorial per personalizzare i ListView:
[medio] ListView con layout personalizzato tramite un custom ArrayAdapter - Android Developers Italia
Le mie apps su Google Play Store: