Sto lavorando a un'applicazione TV Guide che utilizza uno ListActivity
che mostra i programmi TV per un canale/un giorno alla volta. Io sto usando un RelativeLayout
per le ListView
voci e voglio il ListView
di simile a questa:Modifica dei dati di SimpleCursorAdapter
07:00 The Breakfast Show
Latest news and topical reports
08:00 Tom and Jerry
More cat and mouse capers
ottengo i dati relativi agli ListView
elementi utilizzando il seguente codice:
Cursor cursor = db.rawQuery(SELECT blah,blah,blah);
String[] columnNames = new String[]{"start_time","title", "subtitle"};
int[] resIds = new int[]{R.id.start_time_short, R.id.title, R.id.subtitle};
adapter = new SimpleCursorAdapter(this, R.layout.guide_list_item, cursor, columnNames, resIds);
Il mio problema è che il campo start_time
è un datetime
con il seguente formato:
2011-01-23 07:00:00
così quello che ottengo è questo:
2011-01-23 07:00:00 The Breakfast Show
Latest news and topical reports
2011-01-23 08:00:00 Tom and Jerry
More cat and mouse capers
Quello che mi piacerebbe fare è formattare il sopra utilizzando SimpleDateFormat
("HH:mm"
) quindi ho solo ottenere la parte hour:minute
del campo start_time
.
Ho trovato l'interfaccia SimpleCursor.ViewBinder
che suggerisce che potrebbe essere quello che voglio ma non riesco a capire come usarlo. Se ho ragione a proposito di ViewBinder
, gradirei alcuni suggerimenti per l'esempio del codice su come usarlo. Altrimenti, in quale altro modo è possibile ottenere la modifica del campo start_time
per mostrare semplicemente il formato HH:mm
?
Grazie, che spiega molto bene. Ho rielaborato il tuo esempio per adattarlo al mio codice e funziona perfettamente per me. – Squonk
Questo mi ha appena salvato il culo cercando di riordinare i conteggi delle righe da un Cursore, quindi grazie signore. Il mio codice è il seguente: HistoryAdapter.setViewBinder (nuova SimpleCursorAdapter.ViewBinder() { \t \t \t @Override \t \t \t pubblico setViewValue booleana (Panorama vista, cursore Cursore, int column) { \t \t \t \t if (colonna == 0) {// supponiamo che la colonna 0 è il \t \t \t \t \t \t \t \t \t // data 012.\t \t \t \t \t TextView tv = (Vista TextView); \t \t \t \t \t String rownum = String.valueOf (cursor.getPosition() + 1); \t \t \t \t \t // qui si utilizza SimpleDateFormat di bla bla bla \t \t \t \t \t tv.setText (rownum); \t \t \t \t \t return true; \t \t \t \t} \t \t \t \t return false; \t \t \t} \t \t}); –
@Cristian Per favore, pensi di poterti aiutare con questo http://stackoverflow.com/questions/27257416/android-how-can-i-passa-data-related-to-two-tables-to-a-the -Inserire-metodo-di-un? – eddy