Vediamo come realizzare un programma composto da una lista di elementi con tre TextView e una ImageView, collegata ai dati mediante un SimpleAdapter.
MainActivity.java
package it.sarasini.android.Lez_5_ListView_SimpleAdapter; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; import android.app.ListActivity; import android.os.Bundle; import android.widget.SimpleAdapter; public class MainActivity extends ListActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ArrayList<Map<String, Object>> listaDati = new ArrayList<Map<String, Object>>(); listaDati = riempilistaDati(listaDati); String[] from = { "foto", "nome", "cognome", "indirizzo" }; int[] views = { R.id.image, R.id.text1, R.id.text2, R.id.text3 }; SimpleAdapter mioAdapter = new SimpleAdapter ( this, // The context where the View associated with this SimpleAdapter is running listaDati, // A List of Maps. Each entry in the List corresponds to one row in the list. R.layout.item, // Resource identifier of a view layout from, // A list of column names that will be added to the Map associated with each item. views // The views that should display data ); this.setListAdapter(mioAdapter); } private ArrayList<Map<String, Object>> riempilistaDati(ArrayList<Map<String, Object>> listaDati) { listaDati.add(creaMappa(R.drawable.img, "Mario", "Rossi", "Via Roma 12 Bologna")); listaDati.add(creaMappa(R.drawable.img, "Paolo", "Bianchi", "Via Fermi 22 Milano")); listaDati.add(creaMappa(R.drawable.img, "Luca", "Molli", "Via Trento 15 Brescia")); listaDati.add(creaMappa(R.drawable.img, "Giorgio", "Berlusconi", "Via Appia 12 Lecce")); listaDati.add(creaMappa(R.drawable.img, "Luigi", "Rutelli", "Via Principale 132 Como")); listaDati.add(creaMappa(R.drawable.img, "Franco", "Casini", "Via Settima 14 Firenze")); listaDati.add(creaMappa(R.drawable.img, "Matteo", "Lorenzi", "Vicolo Stazione 7 Venezia")); listaDati.add(creaMappa(R.drawable.img, "Giovanni", "Matteoli", "Via Genova 77 Torino")); listaDati.add(creaMappa(R.drawable.img, "Leonardo", "Polli", "Via Campiana 34 Ancona")); listaDati.add(creaMappa(R.drawable.img, "Diego", "Meruso", "Via Serena 23 Palermo")); listaDati.add(creaMappa(R.drawable.img, "Enrico", "Giorini", "Via Mattei 127 Rimini")); return listaDati; } private Map<String, Object> creaMappa(int foto, String nome, String cognome, String indirizzo) { Map<String, Object> map = new HashMap<String, Object>(); map.put("foto", foto); map.put("nome", nome); map.put("cognome", cognome); map.put("indirizzo", indirizzo); return map; } }
item.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" android:padding="5dp"> <ImageView android:layout_width="wrap_content" android:layout_height="fill_parent" android:id="@+id/image" android:src="@drawable/icon"></ImageView> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/linearLayout1" android:orientation="vertical"> <TextView android:text="TextView" android:id="@+id/text1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingLeft="5dp"></TextView> <TextView android:text="TextView" android:id="@+id/text2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingLeft="5dp"></TextView> <TextView android:text="TextView" android:id="@+id/text3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingLeft="5dp"></TextView> </LinearLayout> </LinearLayout>




Recent Comments