Autore Topic: Listview da DB  (Letto 846 volte)

Offline ginoz

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    windows
Listview da DB
« il: 04 Febbraio 2011, 16:21:05 CET »
0
Devo popolare una Listview da un database, ho il mio cursore e non ci sono problemi con il seguente codice preso dal Notepad Tutorial su developer.android.com.

Codice: [Seleziona]
             Cursor notesCursor;
        notesCursor = mDbHelper.fetchAllMyNotes();
        startManagingCursor(notesCursor);

        String[] from = new String[]{"Date"};

        int[] to = new int[]{R.id.text1};

        SimpleCursorAdapter notes =
            new SimpleCursorAdapter(this, R.layout.n_row, notesCursor, from, to);
        setListAdapter(notes);

Ho però 2 domande:

1. mettiamo che io il campo data l'ho nel formato "110204" e invece in R.id.text1 voglio mostrare "04/02/11", come faccio visto che mi pare di aver capito che si può solo mappare il campo del cursore senza manipolarlo?

2. mettiamo che invece io nel cursore abbia 3 campi "day", "month", "year" e li voglia inserire sempre in R.id.text1 nel formato day/month/year.

Nel caso 2 potrei fare in modo che il cursore mi vada a leggere una vista della tabella che mi costruisco come voglio, ma da codice si può fare?

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Listview da DB
« Risposta #1 il: 04 Febbraio 2011, 16:24:57 CET »
0
allora, o ti salvi direttamente sotto forma di string la data corretta, oppure ti fai il tuo adapter personalizzato in cui prendi la data dal database (ti sconsiglio 110204, piuttosto 11.02.04 o ancora meglio salvi il valore long del timestamp, c'è il metodo in Date, tipo Date.getMilliseconds() o simile), la parsi nel formato che piu piace a te con SimpleDateFormatter e poi la setti nella TextView
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline ginoz

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    windows
Re:Listview da DB
« Risposta #2 il: 04 Febbraio 2011, 16:32:56 CET »
0
Cosa intendi con "ti salvi direttamente sotto forma di string la data corretta"? Che metto già nel DB la data come la voglio visualizzare?

Sull'adapter personalizzato vado a documentarmi su come si fa  :D

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Listview da DB
« Risposta #3 il: 04 Febbraio 2011, 19:05:14 CET »
0
Cosa intendi con "ti salvi direttamente sotto forma di string la data corretta"? Che metto già nel DB la data come la voglio visualizzare?
esatto!
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline ginoz

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    windows
Re:Listview da DB
« Risposta #4 il: 07 Febbraio 2011, 14:32:21 CET »
0
Alla fine ho risolto mettende giorno, mese e anni in 3 campi diversi e creando una view
Codice: [Seleziona]
select day || "/" || month || "/" || year su cui far puntare il cursor.

Hai mica qualche link per vedere esempi di adapter personalizzato? Ho cercato ma non ho trovato molto

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia