Skip to content

ListView con SimpleAdapter e ListActivity

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>

ListView SimpleAdapter

Categories: Android.

Tags: , , , , , ,

ListView con ArrayAdapter e ListActivity

Vediamo come realizzare un programma composto da una lista di elementi di tipo TextView collegata ai dati mediante un ArrayAdapter. Il codice è veramente semplice…

MainActivity.java

package it.sarasini.android.ListView_ArrayAdapter;
 
import java.util.ArrayList;
import android.app.ListActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
 
public class MainActivity extends ListActivity {
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
 
        super.onCreate(savedInstanceState);
 
        ArrayList listaNomi = new ArrayList();
        listaNomi = riempiListaNomi(listaNomi);
 
        ArrayAdapter mioAdapter = new ArrayAdapter (		
        this, 					// The context where the View associated with this SimpleAdapter is running
        android.R.layout.simple_list_item_1, 	// Resource identifier of a view layout
        listaNomi				// Data to display
        );
 
        this.setListAdapter(mioAdapter);
    }
 
    private ArrayList riempiListaNomi(ArrayList listaNomi) {
 
    	listaNomi.add("Marco");
        listaNomi.add("Paolo");
        listaNomi.add("Luca");
        listaNomi.add("Giorgio");
        listaNomi.add("Luigi");
        listaNomi.add("Franco");
        listaNomi.add("Matteo");
        listaNomi.add("Giovanni");
        listaNomi.add("Leonardo");
        listaNomi.add("Diego");
        listaNomi.add("Enrico");
 
        return listaNomi;
    }   
}

ListActivity ArrayAdapter

Categories: Android.

Tags: , , , , , ,

Corso Android

Si è concluso il corso di programmazione di base di dispositivi Android svolto da me e da Maurizio Cozzetto all’ITIS Castelli di Brescia. Pubblico qui un po’ di materiale.

Slide delle lezioni e del progetto finale, comparativa dispositivi android in commercio
Slide Corso Android (733)

ActionSMS (progetto finale)
Sorgente ActionSMS (663)

ActionSMS è un progetto realizzato per l’ultima lezione del corso con le seguenti funzionalità:
- Lettura tramite sintesi vocale degli sms in arrivo
- Controllo remoto del cellulare tramite sms
- Invio di sms

Categories: Android.

Tags: , , ,

Tutto il materiale di questo blog è rilasciato sotto licenza GNU FDL