ListActivity - SimpleAdapter com layout nativo

Top  Previous  Next

Tela

 

Java

package com.simplesadapter;

 

import java.util.ArrayList;

import java.util.HashMap;

 

import android.app.ListActivity;

import android.os.Bundle;

import android.view.View;

import android.widget.ListView;

import android.widget.SimpleAdapter;

import android.widget.Toast;

 

public class SimplesAdapterActivity extends ListActivity {

 

  @Override

  public void onCreate(Bundle savedInstanceState) {

      super.onCreate(savedInstanceState);

       

      ArrayList<HashMap<String,String>> lista = new ArrayList<HashMap<String,String>>();

      // cada item da lista precisa ser um HashMap

      for (int i = 0; i < 10; i++) {

             HashMap<String, String> item = new HashMap<String, String>();

             item.put("nome", "Nome " + i);

             item.put("fone", "Fone " + i);

             lista.add(item);

       }

       

      // usa o SimpleAdapter

      String[] origem = new String[] { "nome", "fone" };

       

      // text1 e text2 são padrões do android para o layout nativo "two_line_list_item"

      int[] destino = new int[] { android.R.id.text1, android.R.id.text2 };

      int layoutNativo = android.R.layout.two_line_list_item;

       setListAdapter(new SimpleAdapter(this, lista, layoutNativo, origem, destino));

   }

 

 @Override

 protected void onListItemClick(ListView l, View v, int position, long id) {

         super.onListItemClick(l, v, position, id);

         

         // pega o item naquela posicao

         Object o = this.getListAdapter().getItem(position);

         String item = o.toString();

         

         // exibe um toast

         Toast.makeText(this, item, Toast.LENGTH_SHORT).show();

 }

}