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! |