Ola amigosNeste post vamos mostrar como utilizar um spinner com objetos. No site oficial temos apenas exemplos com Strings e arquivos xml, porem e possivel utilizar spinner com qualquer tipo de objeto.Partiremos da premissa que voce ja tem um projeto criado. No nosso caso criamos um projeto novo chamado SpinnerExample.A primeira coisa que fizemos foi incluir um spinner no layout "main" e alterar o TextView padrao. Nosso main.xml ficou da seguinte forma:Feito isso, criamos uma nova classe chamada Pessoa.java, com os atributos, id, nome, sobrenome e idade. Criamos tambem getters e setters para todos os atributos. No final criamos o metodo toString() para a classe Pessoa. Este e o passo mais importante, pois sem este metodo voce tera uma excecao.Nossa classe Pessoa ficou da seguinte forma:package br.com.icoders;public class Pessoa {private int id;private String nome;private String sobrenome;private int idade;public int getId() { return id;}public void setId(int id) { this.id = id;}public String getNome() { return nome;}public void setNome(String nome) { this.nome = nome;}public String getSobrenome() { return sobrenome;}public void setSobrenome(String sobrenome) { this.sobrenome = sobrenome;}public int getIdade() { return idade;}public void setIdade(int idade) { this.idade = idade;}//Aqui esta a magica, sem este metodo voce tera uma excecaopublic String toString() { return (this.getNome() + " " + this.getSobrenome());}}Agora vamos para a nossa Activity, mostraremos como colocar os objetos no spinner e depois recupera-los.Primeiro criamos um output e um spinner logo abaixo da declaracao da classe:public class SpinnerExample extends Activity {private TextView output;private Spinner spinner;depois dentro do metodo onCreate mapeamos da seguinte forma: spinner = (Spinner) findViewById(R.id.spinner); output = (TextView) findViewById(R.id.output);Criamos 2 instancias de Pessoa e os adicionamos a um ArrayList do tipo Pessoa: Pessoa p1 = new Pessoa(); p1.setId(0); p1.setNome("Vitor"); p1.setSobrenome("Bertazoli"); p1.setIdade(28); Pessoa p2 = new Pessoa(); p2.setId(1); p2.setNome("Rafael"); p2.setSobrenome("de Araujo"); p2.setIdade(24); ArrayList pessoas = new ArrayList(); pessoas.add(p1); pessoas.add(p2);O proximo passo e criar um ArrayAdapter, onde vamos passar nosso ArrayList de pessoas como parametro e entao fazer com que nosso spinner utilize o ArrayAdapter que acabamos de criar: ArrayAdapter pessoasAdapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, pessoas); spinner.setAdapter(pessoasAdapter);Feito isso ja conseguimos ver nossos objetos sendo mostrados no Spinner.O proximo passo e recuperar o que esta no spinner, para isso criamos um listener, verificamos o que foi selecionado e mostramos no nosso TextView output.O codigo para isto ficou da seguinte forma: spinner.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(AdapterView parent, View arg1, int arg2, long arg3) { Pessoa p = (Pessoa) parent.getSelectedItem(); output.setText(p.getNome() + " " + p.getIdade()); } @Override public void onNothingSelected(AdapterView arg0) { } });Pronto, agora voce ja consegue selecionar cada um dos itens no seu spinner e mostra-los no TextView.No final nao e nenhum bicho de 7 cabecas, tudo o que precisamos e do metodo toString no nosso objeto. Ola a todos novamente.Hoje abordaremos como e possivel capturar as acoes de toque na tela do android.E muito facil colocar essa acao em nosso codigo, basta implementar o metodo onTouchEvent(MotionEvent event) na tela que desejamos ter tal acao.Declarado esse metodo na Activity que deseja ter a acao, ele sempre sera chamado quando ocorrer alguma acao de contato na tela do android.Colocando a mao na massaNo nosso