<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
	<id>https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=ListView</id>
	<title>ListView - Historial de revisiones</title>
	<link rel="self" type="application/atom+xml" href="https://manuais.iessanclemente.net/index.php?action=history&amp;feed=atom&amp;title=ListView"/>
	<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=ListView&amp;action=history"/>
	<updated>2026-10-21T09:44:07Z</updated>
	<subtitle>Historial de revisiones de esta página en la wiki</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://manuais.iessanclemente.net/index.php?title=ListView&amp;diff=57157&amp;oldid=prev</id>
		<title>Angelfg en 08:53 28 jul 2015</title>
		<link rel="alternate" type="text/html" href="https://manuais.iessanclemente.net/index.php?title=ListView&amp;diff=57157&amp;oldid=prev"/>
		<updated>2015-07-28T08:53:27Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Página nueva&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Introdución==&lt;br /&gt;
*Un &amp;#039;&amp;#039;&amp;#039;ListView&amp;#039;&amp;#039;&amp;#039; é unha view de que lle permite ao usuario seleccionar un elemento.&lt;br /&gt;
*A diferencia dun Spinner unha lista amosa todos os seus elementos na pantalla.&lt;br /&gt;
[[Image:Listview.png]]&lt;br /&gt;
&lt;br /&gt;
*A imaxe recolle un exemplo de lista, cada item pode conter un só dato, ou múltiples datos. O primeiro caso é o que se vai ver neste curso.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;ListView&amp;quot; widths=&amp;quot;350&amp;quot; heights=&amp;quot;300px&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
Image:Android_2014_U4_03_ListView_01.jpg| A imaxe amosa unha lista simple&lt;br /&gt;
Image:Contactos.png| Un ListView máis complexo é a lista de contactos do teléfono. Cada ítem ten como mímio: Foto, Nome, Telf, se ten whatsaspp, etc.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Ao igual que no Spinner usaremos unha fonte de datos (array estático, array dinñamico, recurso xml, etc) para enlazalo co adaptador e este co ListView.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Caso Práctico==&lt;br /&gt;
*Comezar creando o proxecto: &amp;#039;&amp;#039;&amp;#039;U4_03_ListView&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery caption=&amp;quot;ListView&amp;quot; widths=&amp;quot;350&amp;quot; heights=&amp;quot;300px&amp;quot; perrow=&amp;quot;2&amp;quot;&amp;gt;&lt;br /&gt;
Image:Android_2014_U4_03_ListView_01.jpg| Exemplo dunha lista simple, ao premer nun ítem ...&lt;br /&gt;
Image:Android_2014_U4_03_ListView_02.jpg| Indícanos que ítem foi seleccionado con un Toast.&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===XML do Layout===&lt;br /&gt;
&lt;br /&gt;
*Definimos no Layout unha vista de tipo ListView (Liñas 12-15).&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot; line enclose=&amp;quot;div&amp;quot; highlight=&amp;quot;12-15&amp;quot; &amp;gt;&lt;br /&gt;
&amp;lt;LinearLayout xmlns:android=&amp;quot;http://schemas.android.com/apk/res/android&amp;quot;&lt;br /&gt;
    xmlns:tools=&amp;quot;http://schemas.android.com/tools&amp;quot;&lt;br /&gt;
    android:layout_width=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
    android:layout_height=&amp;quot;match_parent&amp;quot;&lt;br /&gt;
    android:orientation=&amp;quot;vertical&amp;quot; &amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;TextView&lt;br /&gt;
        android:layout_width=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
        android:layout_height=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
        android:text=&amp;quot;Selecciona unha froita&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;ListView&lt;br /&gt;
        android:id=&amp;quot;@+id/lv_froitas&amp;quot;&lt;br /&gt;
        android:layout_width=&amp;quot;wrap_content&amp;quot;&lt;br /&gt;
        android:layout_height=&amp;quot;wrap_content&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/LinearLayout&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===O código Java da aplicación===&lt;br /&gt;
*A filosofía do código Java é moi semellante ao do Spinner.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot; line enclose=&amp;quot;div&amp;quot; highlight=&amp;quot;24,27,30,33,38-39&amp;quot; &amp;gt;&lt;br /&gt;
package com.example.u4_03_listview;&lt;br /&gt;
&lt;br /&gt;
import android.app.Activity;&lt;br /&gt;
import android.os.Bundle;&lt;br /&gt;
import android.view.Menu;&lt;br /&gt;
import android.view.MenuItem;&lt;br /&gt;
import android.view.View;&lt;br /&gt;
import android.widget.AdapterView;&lt;br /&gt;
import android.widget.AdapterView.OnItemClickListener;&lt;br /&gt;
import android.widget.ArrayAdapter;&lt;br /&gt;
import android.widget.ListView;&lt;br /&gt;
import android.widget.TextView;&lt;br /&gt;
import android.widget.Toast;&lt;br /&gt;
&lt;br /&gt;
public class U4_03_ListView extends Activity {&lt;br /&gt;
&lt;br /&gt;
	@Override&lt;br /&gt;
	protected void onCreate(Bundle savedInstanceState) {&lt;br /&gt;
		super.onCreate(savedInstanceState);&lt;br /&gt;
		setContentView(R.layout.activity_u4_03__list_view);&lt;br /&gt;
		ListView lvFroitas = (ListView) findViewById(R.id.lv_froitas);&lt;br /&gt;
&lt;br /&gt;
		//Fonte de datos&lt;br /&gt;
		String[] froitas = new String[] { &amp;quot;Pera&amp;quot;, &amp;quot;Mazá&amp;quot;, &amp;quot;Plátano&amp;quot; };&lt;br /&gt;
&lt;br /&gt;
		//Enlace do adaptador coa fonte de datos	&lt;br /&gt;
		ArrayAdapter&amp;lt;String&amp;gt; adaptador = new ArrayAdapter&amp;lt;String&amp;gt;(this, android.R.layout.simple_list_item_1, froitas);&lt;br /&gt;
&lt;br /&gt;
		//Enlace do adaptador co ListView&lt;br /&gt;
		lvFroitas.setAdapter(adaptador);&lt;br /&gt;
&lt;br /&gt;
		//Escoitador&lt;br /&gt;
		lvFroitas.setOnItemClickListener(new OnItemClickListener() {&lt;br /&gt;
&lt;br /&gt;
			@Override&lt;br /&gt;
			public void onItemClick(AdapterView&amp;lt;?&amp;gt; parent, View view, int position, long id) {&lt;br /&gt;
				// TODO Auto-generated method stub&lt;br /&gt;
				//Toast.makeText(getBaseContext(), &amp;quot;Seleccionaches: &amp;quot; + parent.getItemAtPosition(position), Toast.LENGTH_SHORT).show();&lt;br /&gt;
				Toast.makeText(getBaseContext(), &amp;quot;Seleccionaches: &amp;quot; + ((TextView) view).getText(), Toast.LENGTH_SHORT).show();&lt;br /&gt;
&lt;br /&gt;
			}&lt;br /&gt;
		});&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	@Override&lt;br /&gt;
	public boolean onCreateOptionsMenu(Menu menu) {&lt;br /&gt;
		// Inflate the menu; this adds items to the action bar if it is present.&lt;br /&gt;
		getMenuInflater().inflate(R.menu.u4_03__list_view, menu);&lt;br /&gt;
		return true;&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Liña 24&amp;#039;&amp;#039;&amp;#039;: Ao igual que no Spinner, creamos unha fonte de datos, neste caso cun array estático.&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Liña 27&amp;#039;&amp;#039;&amp;#039;: Do mesmo xeito creamos o adaptador&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Liña 30&amp;#039;&amp;#039;&amp;#039;: E finalmente, vinculamos o adaptador ao ListView&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Liña 33&amp;#039;&amp;#039;&amp;#039;: O Escoitador asociado ao ListView.&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;Liñas 38,39&amp;#039;&amp;#039;&amp;#039;: Ao igual que no spinner, neste caso a vista que recibimos cando facemos click nun ítem da view é do tipo TextView.&lt;br /&gt;
&lt;br /&gt;
==ListView usando un recurso XML ou un array dinámico==&lt;br /&gt;
*Neste caso funciona igual que o visto no Spinner que fai uso dun adaptador.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt; -- [[Usuario:angelfg|Ángel D. Fernández González]] e [[Usuario:Carrion|Carlos Carrión Álvarez]] -- (2015).&lt;/div&gt;</summary>
		<author><name>Angelfg</name></author>
	</entry>
</feed>