<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>spinner | www.valeriofinazzo.it</title>
	<atom:link href="http://www.valeriofinazzo.it/wordpress/tag/spinner/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.valeriofinazzo.it/wordpress</link>
	<description>Il sito dell&#039;ingegnere Valerio Finazzo</description>
	<lastBuildDate>Thu, 19 Jun 2014 21:25:40 +0000</lastBuildDate>
	<language>it-IT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.0.3</generator>
	<item>
		<title>ANDROID TUTORIAL &#8211; 2 &#8211; GESTIRE LO SPINNER</title>
		<link>http://www.valeriofinazzo.it/wordpress/2014/06/android-tutorial-2-gestire-lo-spinner/</link>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 19 Jun 2014 21:25:40 +0000</pubDate>
				<category><![CDATA[ANDROID]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[spinner]]></category>
		<guid isPermaLink="false">http://www.valeriofinazzo.it/wordpress/?p=207</guid>

					<description><![CDATA[<p>Uno dei componenti più importanti di Android è lo spinner, ovvero la versione android della classica combobox. La gestione dello spinner può essere fatta in maniera dichiarativa o in maniera programmatica. In maniera dichiarativa occorre definire per il nostro spinner la sua fonte dati, disponibile in una delle risorse xml. Ad esempio possiamo dichiarare uno &#8230; <a href="http://www.valeriofinazzo.it/wordpress/2014/06/android-tutorial-2-gestire-lo-spinner/" class="more-link">Continua la lettura di <span class="screen-reader-text">ANDROID TUTORIAL &#8211; 2 &#8211; GESTIRE LO SPINNER</span> <span class="meta-nav">&#8594;</span></a></p>
The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/android-tutorial-2-gestire-lo-spinner/">ANDROID TUTORIAL – 2 – GESTIRE LO SPINNER</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></description>
										<content:encoded><![CDATA[<p style="color: rgb(13, 41, 63); text-align: justify;">Uno dei componenti più importanti di Android è lo spinner, ovvero la versione android della classica combobox. La gestione dello spinner può essere fatta in maniera dichiarativa o in maniera programmatica.</p>
<p style="color: rgb(13, 41, 63); text-align: justify;">In maniera dichiarativa occorre definire per il nostro spinner la sua fonte dati, disponibile in una delle risorse xml. Ad esempio possiamo dichiarare uno spinner che contiene l&#8217;elenco degli anni in questo modo:</p>
<p></p><pre class="crayon-plain-tag">&lt;Spinner 
android:id="@+id/spinnerAnnoSottoscrizione" 
style="@style/Spinner"  
android:entries="@array/annoIscrizione" /&gt;</pre><p>l&#8217;attributo id individua unicamente il nostro spinner all&#8217;interno dell&#8217;app, l&#8217;attributo style contiene le specifiche grafiche dell&#8217;oggetto e il tag entries individua l&#8217;elenco dei valori che lo spinner può assumere. Tale elenco è definito nel file strings.xml</p><pre class="crayon-plain-tag">&lt;string-array name="annoIscrizioneLabel"&gt;
&lt;item&gt;2012&lt;/item&gt;
&lt;item&gt;2011&lt;/item&gt;
&lt;/string-array&gt;</pre><p>In questo modo abbiamo definito uno spinner che conterrà due voci (2012 e 2011), selezionabili dall&#8217;utente.</p>
<p style="color: rgb(13, 41, 63); text-align: justify;">Possiamo ottenere lo stesso risultato programmaticamente in questo modo.</p>
<p></p><pre class="crayon-plain-tag">ArrayAdapter&lt;String&gt; adapter= 
new ArrayAdapter&lt;String&gt;
(this,  android.R.layout.simple_spinner_item  , 
getResources().getStringArray(R.array.annoIscrizioneLabel));
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Spinner spinner =(Spinner) findViewById(R.id.annoIscrizioneLabel);
spinner.setAdapter( adapter );</pre><p>&nbsp;</p>
<p style="color: rgb(13, 41, 63); text-align: justify;">All&#8217;interno della nostra activity recuperiamo il nostro spinner e settiamo l&#8217;adapter che fa al caso nostro. L&#8217;Adapter è un oggetto che definisce la logica di visualizzazione dello spinner e dei suoi elementi. In questo esempio ho usato il simple_spinner_item, che definisce l&#8217;aspetto grafico dello spinner, e il simple_spinner_dropdown_item, che definisce l&#8217;aspetto grafico dell&#8217;elenco mostrato per la selezione.</p>
<p style="color: rgb(13, 41, 63); text-align: justify;">Se occorre modificare l&#8217;aspetto dello spinner o rendere dinamico l&#8217;elenco delle voci da mostrare la gestione programmatica è la scelta obbligata.</p>
<p style="color: rgb(13, 41, 63); text-align: justify;">Android mette a disposizione adapter che soddisfano la maggior parte delle nostre esigenze, ma se il nostro layout è complesso o la logica di business è più evoluta possiamo definire un nostro adapter, estendendo una delle classi già presenti.</p>
<p style="color: rgb(13, 41, 63); text-align: justify;">Per gestire l&#8217;effetto di selezione dobbiamo definire un listener, tramite la chiamata</p>
<p style="color: rgb(13, 41, 63); text-align: justify;">spinner .setOnItemSelectedListener(this);</p>
<p style="color: rgb(13, 41, 63); text-align: justify;">Con questa chiamata sto dicendo che l&#8217;activity è responsabile di implementare l&#8217;interfaccia OnItemSelectedListener e di conseguenza il metodo onItemSelected. Avrei potuto in alternativa definire una inner class e demandare a lei la gestione degli eventi di selezione. Personalmente scelgo cosa fare in base alla complessità della classe.</p>
<p style="color: rgb(13, 41, 63); text-align: justify;">Il listener (sia inner class che activity) si attiva per ogni evento di selezione. Fate attenzione, perchè si attiva anche allo start della nostra activity, quando viene popolato il nostro oggetto.</p>
<p style="color: rgb(13, 41, 63); text-align: justify;">Buona sperimentazione.</p>
<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fandroid-tutorial-2-gestire-lo-spinner%2F&amp;linkname=ANDROID%20TUTORIAL%20%E2%80%93%202%20%E2%80%93%20GESTIRE%20LO%20SPINNER" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fandroid-tutorial-2-gestire-lo-spinner%2F&amp;linkname=ANDROID%20TUTORIAL%20%E2%80%93%202%20%E2%80%93%20GESTIRE%20LO%20SPINNER" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fandroid-tutorial-2-gestire-lo-spinner%2F&amp;linkname=ANDROID%20TUTORIAL%20%E2%80%93%202%20%E2%80%93%20GESTIRE%20LO%20SPINNER" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_whatsapp" href="https://www.addtoany.com/add_to/whatsapp?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fandroid-tutorial-2-gestire-lo-spinner%2F&amp;linkname=ANDROID%20TUTORIAL%20%E2%80%93%202%20%E2%80%93%20GESTIRE%20LO%20SPINNER" title="WhatsApp" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_google_gmail" href="https://www.addtoany.com/add_to/google_gmail?linkurl=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fandroid-tutorial-2-gestire-lo-spinner%2F&amp;linkname=ANDROID%20TUTORIAL%20%E2%80%93%202%20%E2%80%93%20GESTIRE%20LO%20SPINNER" title="Gmail" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=http%3A%2F%2Fwww.valeriofinazzo.it%2Fwordpress%2F2014%2F06%2Fandroid-tutorial-2-gestire-lo-spinner%2F&#038;title=ANDROID%20TUTORIAL%20%E2%80%93%202%20%E2%80%93%20GESTIRE%20LO%20SPINNER" data-a2a-url="http://www.valeriofinazzo.it/wordpress/2014/06/android-tutorial-2-gestire-lo-spinner/" data-a2a-title="ANDROID TUTORIAL – 2 – GESTIRE LO SPINNER"></a></p>The post <a href="http://www.valeriofinazzo.it/wordpress/2014/06/android-tutorial-2-gestire-lo-spinner/">ANDROID TUTORIAL – 2 – GESTIRE LO SPINNER</a> first appeared on <a href="http://www.valeriofinazzo.it/wordpress">www.valeriofinazzo.it</a>.]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
