Android. Adapter e ListView. diegozabot@yahoo.it

Documenti analoghi
Lezione 9 Liste, tabelle, caselle di scelta e gallerie di immagini

Android lezione 9 Le listview

Corso Base. Lezione 5. Maurizio Cozzetto, Francesco Sarasini

Lezione 13 Content Provider

SIMPLY JOB. Progetto per il corso di Programmazione III e Laboratorio A.A Realizzato da: Massimo Buonocore

Android. Implementare una interfaccia utente

Sistemi Mobili e Wireless Android - Dati persistenti: SQLite

Mobile Programming. Prova scritta del 07/02/2015. Prof. De Prisco. Corso di laurea in Informatica

Il foglio elettronico. Excel PARTE

Modulo 4: Ereditarietà, interfacce e clonazione

Corso Programmazione Java ed Android

Programmazione Orientata agli Oggetti in Linguaggio Java

Sviluppare Applicazioni per Android

Corso Corso di di programmazione di di sistemi mobile 1 1. Android Laboratorio. Primo Progetto, Toast

Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A Esercitazione. Programmazione Object Oriented in Java

Java: Compilatore e Interprete

Programmazione Orientata agli Oggetti in Linguaggio Java

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012

Soluzioni degli esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)

Android. Intent e intent-filter. diegozabot@yahoo.it

Esercizi della lezione 5 di Java

Uno dei pregi di Java è quello di integrare la documentazione con il codice stesso Formato dei commenti:

Oggetti Lezione 3. aspetti generali e definizione di classi I

Microsoft Word. Nozioni di base

Algoritmi per suddividere il testo in righe in un editor di testo

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a luglio 2013

Introduzione a LyX. Creazione di un documento Struttura e stile Modelli di documento Automatismi Riferimenti...

Corso su LINQ Lezione 16. Introduzione

Prova di Laboratorio di Programmazione

Fondamenti di Informatica C Esercitazioni di Laboratorio / 3 Outline

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Tabelle Pivot - DISPENSE

Inizializzazione, Assegnamento e Distruzione di Classi

Realizzazione di una semplice applicazione HelloWorld con una introduzione delle API di base del SDK Android.

Breve introduzione curata da Alessandro Benedetti. Struts2-Introduzione e breve guida

Corso Programmazione Android

PHP e MySQL. Guida scaricata da

LE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE

L ambizione dei design pattern (letteralmente schemi di programmazione) è quella di offrire soluzioni a problemi ricorrenti che facilitano lo

10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress.

Java:Struttura di Programma. Fabio Scanu a.s. 2014/2015

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Andrea Maioli Instant Developer: guida all uso

COMMESSE, MULTIFOGLI E FOGLI

Siti web centrati sui dati Architettura MVC-2: i JavaBeans

Esercitazione sulle libpq - libreria C per PostgreSQL

Programmazione Orientata agli Oggetti in Linguaggio Java

Il Registro dei Servizi di OpenSPCoop i. Il Registro dei Servizi di OpenSPCoop

Android. Android03: Ciclo di vita di una Activity.

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni

STAMPA UNIONE DI WORD

Marco Faella Il paradigma Model-View-Controller. Il pattern Strategy.

Analisi di una Rete Sociale

Database 1 biblioteca universitaria. Testo del quesito

MAGAZZINO FISCALE (agg. alla rel )

MOBILE WEB DESIGN TUTORIAL ANDROID METAIO AUGMENTED REALITY

Introduzione. Java. Composizione. Esempio -- composizione. G. Prencipe È qualcosa che abbiamo già visto varie volte

Concetto di Funzione e Procedura METODI in Java

Guida all uso di Java Diagrammi ER

[MANUALE VISUAL BASIC SCUOLA24ORE PROF.SSA PATRIZIA TARANTINO] 14 dicembre 2008

1 2 Fase di autenticazione utente

Object Oriented Programming

Word. Cos è Le funzioni base Gli strumenti. 1

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

L ambiente di sviluppo Android Studio

Concetti fondamentali dei database database Cos'è un database Principali database

Programmazione Fondi Strutturali 2007/2013 P.O.N. FSE A.S. 2013/2014 SCHEDA PROGETTUALE MODULO. Obiettivo: C Azione: 1 Riferimento interno:

UML Diagrammi delle classi. UML Diagramma classi 1

Esercitazione n 4. Obiettivi

Le query. Lezione 6 a cura di Maria Novella Mosciatti

Appunti sugli Elaboratori di Testo. Introduzione. D. Gubiani. 19 Luglio 2005

Esercizi di JavaScript

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

Programmazione a Oggetti Lezione 10. Ereditarieta

Corso Android Corso Online Programmatore Android

ARRAY BIDIMENSIONALI float [][] mx = new float[3][4]; (float []) [] mx = new float[3][4];

Laboratorio di Programmazione 1. Docente: dr. Damiano Macedonio Lezione 18 31/03/2014

Le query di raggruppamento

Gestione delle Presenze WorkFlow Manuale Operativo

Appunti di: MICROSOFT EXCEL

Laboratorio di programmazione

Test Excel conoscenze di Base

Gestire immagini e grafica con Word 2010

Makefile. Un target in generale e' un file. Usando.PHONY: target specifichiamo a make che il target non e' un file

Programmazione Java: Interfacce grafiche (GUI)

GestVetrine 1.1 versione novembre 2014

Indice generale. Capitolo 1 Introduzione ad Android... 1

Capitolo 13. Interrogare una base di dati

Plate Locator Riconoscimento Automatico di Targhe

Transcript:

Android Adapter e ListView diegozabot@yahoo.it

Funzionamento di un Adapter Quando il contenuto del layout non è predeterminato o è dinamico possono essere utilizzati gli Adapter. Un Adapter recupera i dati da una sorgente (un database, un array o dalle risorse), utilizza una View (predefinita o definita dall utente) e converte il tutto in View visualizzate da un AdapterView. View AdapterView Dati Adapter View View View

AdapterView Solitamente si utilizza un layout esteso dalla classe AdapterView. Questo tipo di layout utilizza un Adapter per combinare dati con le View relative. Sottoclassi di AdapterView che utlizzano gli Adapter sono ad es.: ListView, GridView, Gallery, Spinner. ListView GridView Gallery Spinner

Specializzazioni di Adapter Per recuperare i dati utilizziamo specializzazioni di Adapter, ad esempio: ArrayAdapter<String> per una singola riga di informazione di tipo testo HashMap<String, String> o HashMap<String, ArrayList> per più righe di informazione di tipo testo SimpleCursorAdapter per recuperare dati provenienti da elementi di tipo Cursor (db) o creiamo direttamente una specializzazione di BaseAdapter per fare esattamente quello che ci serve (utilizzato per le immagini).

ListView (1) E una View che mostra una lista di elementi. Le caratteristiche grafiche del singolo elemento possono essere configurate mediante un layout xml oppure mediante layout predefiniti. Procedura: java.lang.object android.view.view android.view.viewgroup android.widget.adapterview<t> android.widget.abslistview android.widget.listview 1. Creare la ListView nell xml 2. Ottenere il riferimento alla ListView nel codice java 3. Creare un insieme di dati da visualizzare (es. array, risorsa, database) 4. Utilizzare un adapter che colleghi i dati a una View di riga 5. Agganciare l adapter alla ListView ListView Dati String[] nomi = { Giovanni, Martina, Giuseppe, } Modello Riga Risultato

ListView (2) Utilizzo: ListView listview = (ListView) findviewbyid(r.id.listview); ArrayAdapter<String> adapter = new ArrayAdapter<String>( Context context, // this o getapplicationcontext() int textviewresid, // un item predefinito o uno xml Objects[] objects); // la sorgente dati listview.setadapter(adapter); Objects è di norma un array di String. In caso contrario viene utilizzato il metodo tostring dell oggetto per ricavarne una stringa. *Se la ListView è l unico controllo presente nell Activity allora è consigliabile utilizzare la classe ListActivity (che è una activity con incorporata una ListView)

ListView (3) Esempio: ArrayAdapter<String> adapter = new ArrayAdapter<String>( this, android.r.layout.simple_list_item_1, arraystringhe); In questo caso utilizziamo un elemento preso dalla libreria di Android: android.r.layout.simple_list_item_1. Potremmo creare semplicemente un layout con una TextView con un formato a piacere e fare riferimento a questa.

ArrayAdapter (1) Prendiamo in esame i seguenti costruttori di ArrayAdapter. Possiamo utilizzare sia un array che una lista (es. ArrayList): ArrayAdapter adapter = new ArrayAdapter<T>( Context context, int textviewresourceid, Objects[] objects); ArrayAdapter adapter = new ArrayAdapter<T>( Context context, int textviewresourceid, List objects);

ArrayAdapter (2) In questo caso, la nostra View di riga può essere interna ad un layout. Specifichiamo il layout e la View: ArrayAdapter adapter = new ArrayAdapter<T>( Context context, int layoutresourceid, int textviewresourceid, Objects[] objects List objects); Indico che voglio utilizzare la TextView textviewresourceid che si trova nel layout layoutresourceid.

Gestione della selezione (1) L evento generato dalla scelta è catturato dal Listener OnItemClickListener. Vediamo come impostarlo e quali metodi implementa: listview.setonitemclicklistener(new OnItemClickListener() { public void onitemselected(adapterview<?> parent, View view, int position, long id) { // gestione dell'evento } });

Gestione della selezione (2) Vediamo in dettaglio il metodo onitemclick: public void onitemclick(adapterview<?> parent, View view, int position, long id) { Toast.makeText( getapplicationcontext(), "Hai selezionato l'elemento " + position, Toast.LENGTH_SHORT).show(); } Nel caso di elemento selezionato, parent punta alla ListView, view è la View selezionata, position indica l elemento (partendo da 0) e id indica la riga della risorsa.

Esercizio ListView Creare una activity che mostri una listview con i giorni della settimana e mostri con un Toast il giorno selezionato.