Intent - Passando Objeto

Top  Previous  Next

Definição

 

A maneira mais simples de fazer a passagem de objetos entre Activities é fazer com que eles implementem a interface java.io.Serializable.

Dessa forma você pode passar os objetos da classe activities via Intent normalmente, inclusive adicionando-os a listas (a classe ArrayList é serializada).

Fonte

 

 

public class Pessoa implements Serializable {  

 // Seus atributos, gets e sets ...  

}

 

 

 

// Criando a lista de pessoas e adicionando

ArrayList<Pessoa> pessoas = new ArrayList<Pessoa>();  

pessoas.add(new Pessoa(1, "Glauber"));  

pessoas.add(new Pessoa(2, "Nelson"));  

           

Intent it = new Intent(this, Tela2Activity.class);  

 

// passando a lista  

it.putExtra("pessoas", pessoas);  

 

// passando um objeto  

it.putExtra("pessoa", pessoas.get(0));  

startActivity(it);

 

 

 

// Recuperando o objeto

Pessoa pessoa = (Pessoa) getIntent().getSerializableExtra("pessoa");  

                   

ArrayList<Pessoa> pessoas = (ArrayList<Pessoa>) getIntent().getSerializableExtra("pessoas");  

                     

System.out.println("Pessoa: "+ pessoa.getNome());  

System.out.println("Pessoas: "+ pessoas.get(0).getNome());

 

 

Resumindo

 

Você deve implementar a interface Serializable no seu objeto. Ao passar na intent, coloque normalmente a lista de objetos.

Para recuperar o objeto basta apenas utilizar "getSerializableExtra".

 

PMais fácil só se eu fizesse pra ti!