Android lezione 9 Le listview

Documenti analoghi
Android. Adapter e ListView. diegozabot@yahoo.it

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

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

La mia prima app android!

Corso di programmazione di sistemi mobile 1. Android Laboratorio. Activity, ListView e Adapter

Sistemi Mobili e Wireless Android Selection widget e adapter

In-app billing per comuni mortali puntata 1

Excel memorizza il riferimento alla cella A1 sotto forma di distanza dalla cella contenente la formula.

La nostra finestra dovrebbe essere come mostra la figura: Diamo innanzitutto un occhiata alle componenti principali di input/output:

ProgettAzione tecnologie in movimento - V anno Unità 4 - Applicazioni per i sistemi mobili

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

ListView. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

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

Realizzazione di uno sfondo a righe strappato

Stampa Guidata Serie in 19 passi. Creazione di una serie di documenti testualicon la tecnica Stampa Guidata Serie OpenOffice 2.3.0

Mobile Programming. Prova scritta del 22/01/2016. Prof. De Prisco. Corso di laurea in Informatica

CONFIGURAZIONE AVANZATA DI UNA VISTA IN DRUPAL

Sviluppare Applicazioni per Android

TUTORIAL LIBRI IN SIMBOLI

COME CREARE UN BLOG DA ZERO LEZIONE 4 GUIDA RAPIDA BLOGGER

Lezione 13 Content Provider

Cloud GDrive, Dropbox

@ ITT M. BUONARROTI, TRENTO ANDROID DEVELOPMENT UI PERSONALIZZATE E MENU. RAMAN KAZHAMIAKIN OSCAR GIOVANNI DE

Programmazione Android. Luca Morettoni

SEE Electrical Expert: FAQ COME MODIFICARE I DATI ALL INTERNO DEL CARTIGLIO DEL MODELLO

Nella finestra successiva dovremo cercare l immagine che vogliamo appiccicare nel file.

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

13 Le funzioni di ricerca e riferimento

Joomla: come inserire una galleria di immagini nel nostro sito?

ISCRIZIONI. Impostazioni form ECDL

Manuale d utilizzo. Indice:

Sistemi Mobili e Wireless Android - Risorse

Corso sul PACCHETTO OFFICE. Modulo Access

Programmazione Java Struttura di una classe, Costruttore, Riferimento this

Plugin di integrazione con il CMS Joomla

Come creare una presentazione di immagini con NavImm

Modifica Pagina Web. Pulsante LogOut: cliccare per uscire dall'ambiente di amministrazione

Tutorial 18. Come creare uno stipite personalizzato e inserirlo in libreria

Form da compilare: Gohasta srl Via Celso 18/R Firenze P.Iva IT

Calcolare con il computer: Excel. Saro Alioto 1

Sviluppare Applicazioni per Android

Word 2003 Elementi Grafici

MINIMANUALE VBA PER CREARE MACRO NEI FOGLI EXCEL

INDICE. I. Registrazione e acceso all Api... p.3. II. Pannello di controllo... p.5

La tua prima app su Android

Come usare la piattaforma StartUp

Microsoft Outlook Di Nunziante Esposito. `*************` Quinta parte: Come gestire la rubrica (contatti). `***********`

WINKHOUSE. Tutorial 15. Esportazione / Importazione dati tra winkhouse versione desktop e winkhouse versione android.

Android. Google Maps v2.

Avviate Specifi dall icona presente sul vostro Desktop.

Moduli Bluetooth 03 - connessione seriale via BT

È giunto il momento di imparare a rappresentare visivamente i nostri dati: un buon grafico alle volte è più eloquente di pagine e pagine di dati.

Introduzione a Visual Studio 2005

SEE Electrical Expert V4: FAQ

Introduzione. Java. Esempio. Esempio

ORGANIZZARE I PERCORSI

Presentazione con PowerPoint

Indice generale. Prefazione...xiii. Introduzione...xv. Android e Java per Android...1

Versione 1.7. Manuale per Creatori Corsi. Parte I: Accesso e Creare Risorse

Lezione 6 Gestione degli eventi dei widget

Tesina esame Programmazione di Sistemi Mobile Realizzato da Roberto Giuliani Matricola icloud. Inserimenti, modifiche e cancellazioni

Definiscono l aspeko grafico dell interfaccia utente. Si possono definire in due modi. Con un file XML In modo programmaoco*

Excel. Il foglio di lavoro. Il foglio di lavoro Questa viene univocamente individuata dalle sue coordinate Es. F9

Access 2007 Colonna di ricerca

Come creare un modulo per Joomla?

Programmazione a Oggetti Modulo B

Creare una sfera di vetro

Il layout degli oggetti

Protezione dei documenti di Microsoft Office 2007 per utenti e aziende

N.B. 1.3 Impostazioni di sicurezza di Internet Explorer: Active X. Guida all'utilizzo di Web-Rainbow. Consiglio Nazionale delle Ricerche

La creazione e la gestione di un torneo Fun Cup richiede i seguenti passaggi:

7. Moduli e blocchi parte 1

Software WinEeprom Evo

Guida all uso della piattorma elearning QUICKPLACE

domenica 9 giugno 13 Serializzazione

Automatizzare le attività con le macro di Visual Basic

Presentazione con PowerPoint

COME FAR CONOSCERE LA TUA APP

MANUALE DI CARICAMENTO DELLE EPIGRAFI

Programma di navigazione internet: Internet Explorer

Programmazione ad oggetti

Android by Example v4.2 JellyBean

La geolocalizzazione

Come inserire immagini personali in Symwriter

Errata Corrige di Manuale di Java 8

La nostra interfaccia avrà l aspetto seguente:

Creare maschere personalizzate

Come creare una . Scritto da Savy.uhf

perror: individuare l errore quando una system call restituisce -1

Polimorfismo parametrico vs polimorfismo per inclusione

Guida per la personalizzazione dei modelli di stampa / salvataggio documenti

Blocchi dinamici: creazione muro

Guida rapida di installazione e configurazione

Cosa sono le maschere

Sistemi Mobili e Wireless Android Action bar e menu

Questo corso di formazione è stato creato da 5 organizzazioni che si occupano di diritti delle persone con disabilità intellettive in cinque diversi

Arduino MaxMSP Tutorial #3 - Arduino MaxMSP Play Sound Materiale utilizzato Arduino Uno, sensore (uno qualsiasi)

L Abstract Windowing Toolkit. Le GUI in Java. Il Frame. Cenni sull ereditarietà. Gianpaolo Cugola - Sistemi Informativi in Rete

prova.c #include <stdio.h> char funzione(char); codice oggetto del main()

Copiare le caratteristiche di formattazione da un testo ad un altro.

Transcript:

Android lezione 9 Le listview In questa lezione introduciamo le ListView. Una listview ci permette di mostrare una serie di elementi all interno di una lista che puo anche essere scrollata. Ecco un esempio di una list view con 3 elementi Una delle comodità delle listview è che sono altamente customizzabili. In questa lezione vedremo come creare una semplice listview nella nostra applicazione. Questa operazione consiste fondamentalmente dei seguenti passi: 1. 2. 3. 4. Aggiungere una ListView al nostro layout Creare un layout per il singolo elemento della ListView Aggiungere listview alla nostra Activity Popolarla Come al solito queste lezioni sono basate sul progetto ItalialinuxExample reperibile su repository svn al seguente indirizzo: http://www.osdev.it/public/italialinuxexample/lezioni/lezione9 dove potrete scaricare i sorgenti del progetto eclipse. Quindi come detto la prima cosa da fare, e aggiungere una listview al nostro layout principale. Apriamo il file res/main.xml e aggiungiamo la view, ovviamente potete farlo anche tramite gui di eclipse (l oggetto si trova sotto la voce composite) altrimenti se volete editare direttamente l xml quello che dovrete inserire e simile al seguente: Come possiamo vedere questo passo è abbastanza semplice, non ci sta molto da spiegare. Come al solito gli elementi che lo

compongono sono: L id della listview Le informazioni sulla larghezza e la lunghezza. Una delle caratteristiche utili della listview é che il singolo item puó essere customizzato come vogliamo. Ovviamente per fare questo ci serve un layout che specifica come apparirá il singolo elemento della ListView. In questo esempio vedremo il caso piu semplice, quello di un elemento che contiene solo una casella di testo. Nelle prossime lezioni faremo anche una variante con l item composto da due caselle di testo una per il titolo dell oggetto e una per la descrizione. Alla selezione di un elemento verrá semplicemente mostrato un toast che stampera il nome dell oggetto selezionato. Quindi aggiungiamo un file xml per il layout dell elemento nella cartella res/ (il nome che gli ho dato nel progetto é list_item.xml). In questo caso dovremo aggiungere ina TextView. <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="10dp" android:textstyle="bold" android:textsize="18sp"> </TextView> Come possiamo vedere quello che stiamo facendo è qualcosa di gia noto e semplice, stiamo dichiarando un layout come tutti gli altri. In questo esempio la lista verrà inizializzata prendendo i valori da un file XML. Per fare questo dobbiamo creare (se gia non lo abbiamo fatto) un file xml contentente le stringhe,

normalmente lo si inserisce all interno della cartella values. Quindi creiamo prima di tutto la cartella values se non presente nel progetto e dopo di che creiamo il file strings.xml. Dal momento che una listview contiene sicuramente piu di un elemento, quello che andremo che ci servirà è un oggetto di tipo string-array. Ecco qui come andrà definito: <string-array name="listitems" > <item>item number one</item> <item>the second<item> <item>and the third<item> A questo punto passiamo alla fase di inizializzazione. Abbiamo due possibilitá, la prima é fare in modo che la nostra Activity estenda l oggetto ListAtctivity, altrimenti la si accede mediante il consueto findviewbyid. Noi opteremo per questo secondo metodo. Dopo di che andiamo a vedere cosa dobbiamo aggiungere all interno della nostra oncreate. Prima di tutto accediamo all oggetto ListView: ListView mylist = (ListView) findviewbyid(r.id.listview1); Ora dobbiamo prelevare dati da aggiungere nel nostro menu, per farlo prima di tutto preleviamo i dati contenuti nell array chiamato listitems, per farlo questo ci appoggiamo ovviamente ad un array di stringhe: String[] menuitems = getresources().getstringarray(r.array.listitems); La ListView per essere popolata ha bisogno di un ArrayAdapter, una classe che si occupa di gestire i dati, basati o su array o su liste, di tipo arbitrario. Quindi dichiariamo il nostro oggetto di tipo ArrayAdapter, che verrá popolato con gli elementi in menuitems, e prenderá inoltre come argomento un riferimento ad una TextView o un layout, e il contesto corrente.

ArrayAdapter<String> adapter = new ArrayAdapter(this, R.layout.list_item, menuitems); In questo modo ogni elemento dell arrayadapter verrá esploso all interno di una textview contenuta in list_view, il testo che verrá inserito sará quello ritornato dal metodo.tostring(). A questo punto dobbiamo semplicemente associare l adapter alla listview, questo si fa utilizzando il metodo setadapter per l oggetto di tipo ListView, nel nostro caso: mylist. mylist.setadapter(adapter) In questo modo se ora proviamo a lanciare la nostra applicazione gia possiamo vedere che la lista viene correttamente popolata. Il nostro prossimo passo é associare una azione (comparsa di un toast) alla selezione di un elemento della lista. Per fare questo dobbiamo utilizzare un Listener di tipo OnItemClickListener. Lasciamo che sia direttamente l activity a occuparsene, e che quindi deve implementare questo oggetto: public class FirstActivity extends Activity implements OnItemClickListener Questo richiede l implementazione del metodo: public abstract void onitemclick (AdapterView parent, View view, int position, long id) Dove: parent indica l adapterview che contiene l evento del click view indica la View sul quale é stato fatto il click (nel nostro caso é la textview del list_item) position indica la posizione dell elemento nell adapter id indica l id della linea ove l oggetto é stato clickato.

Quindi per mostrare la notifica Toast che stampa il contenuto dell elemento, all interno di onitemclick dobbiamo castare la variabile view a TextView e prenderne il contenuto: Toast.makeText(getApplicationContext(), ((TextView) view).gettext() + " " + position, Toast.LENGTH_SHORT).show(); Ora non ci resta che un ultimo passo, ovvero associare il listener alla lista, si fa semplicemente chiamanto il metodo setonitemclicklistener su mylist: mylist.setonitemclicklistener(this); E con questo abbiamo creato la nostra prima lista. Se ora lanciamo avremo un output simile al seguente: Vi ricordo che i sorgenti sono disponibili su http://www.osdev.it/public/italialinuxexample/lezioni/lezione9 In una delle prossime lezioni (non la prossima) vedremo come fare una listview con elementi personalizzati al 100%.