You can use the Parcelable or Serializable.
Parcelable Example
package com.helpme.app;
import android.os.Parcel;
import android.os.Parcelable;
public class Produto implements Parcelable {
int codigo;
String nome;
public Produto(int codigo, String nome){
this.codigo = codigo;
this.nome = nome;
}
public int getCodigo() {
return codigo;
}
public void setCodigo(int codigo) {
this.codigo = codigo;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
// PARCELABLE
protected Produto(Parcel in) {
setCodigo(in.readInt());
setNome(in.readString());
}
public static final Creator<Produto> CREATOR = new Creator<Produto>() {
@Override
public Produto createFromParcel(Parcel in) {
return new Produto(in);
}
@Override
public Produto[] newArray(int size) {
return new Produto[size];
}
};
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(getCodigo());
dest.writeString(getNome());
}
}
Passing the data via Intent
Produto produto = new Produto(1, "SmartPhone");
Intent it = new Intent(this, MostrarItemSelActivity.class);
it.putExtra("produto", produto);
startActivity(it);
Receiving the data (screen "Showitemselactivity")
Produto produto = getIntent().getExtras().getParcelable("produto");
Serializable Example
package com.helpme.app;
import java.io.Serializable;
public class Produto implements Serializable {
int codigo;
String nome;
public Produto(int codigo, String nome){
this.codigo = codigo;
this.nome = nome;
}
public int getCodigo() {
return codigo;
}
public void setCodigo(int codigo) {
this.codigo = codigo;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}
ArrayList<Produto> produtos = new ArrayList<>();
produtos.add(new Produto(1, "SmartPhone"));
produtos.add(new Produto(2, "TV 42"));
Intent it = new Intent(this, MostrarItemSelActivity.class);
// Se quiser passar a lista inteira
it.putExtra("produtos", produtos);
// Se quiser passar apenas um objeto
it.putExtra("produto", produtos.get(0));
startActivity(it);
Retrieving the data
Produto produto = (Produto) getIntent().getSerializableExtra("produto");
ArrayList<Produto> produtos = (ArrayList<Produto>) getIntent().getSerializableExtra("produtos");
System.out.println("Produto: "+ produto.getNome());
System.out.println("Produtos: "+ produtos.get(0).getNome());
I advise you to use Recyclerview in place of Listview
Could show how you ride this
Adapter
?– Igor Mello