public class Aluno implements Parcelable {
private final String nome;
private final String telefone;
private final String email;
public Aluno(String nome, String telefone, String email) {
this.nome = nome;
this.telefone = telefone;
this.email = email;
}
protected Aluno(Parcel in) {
nome = in.readString();
telefone = in.readString();
email = in.readString();
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(nome);
dest.writeString(telefone);
dest.writeString(email);
}
@Override
public int describeContents() {
return 0;
}
public static final Creator<Aluno> CREATOR = new Creator<Aluno>() {
@Override
public Aluno createFromParcel(Parcel in) {
return new Aluno(in);
}
@Override
public Aluno[] newArray(int size) {
return new Aluno[size];
}
};
// ...
}
public class FormularioAlunoActivity extends AppCompatActivity {
// ...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_formulario_aluno);
// ...
populaFormulario();
}
private void populaFormulario() {
Intent intent = getIntent();
// Aluno aluno = (Aluno) intent.getSerializableExtra("aluno");
Aluno aluno = intent.getParcelableExtra("aluno");
campoNome.setText(aluno.getNome());
campoEmail.setText(aluno.getEmail());
campoTelefone.setText(aluno.getTelefone());
}
// ...
}
public class ListaAlunosActivity extends AppCompatActivity {
// ...
@Override
protected void onResume() {
super.onResume();
iniciaListaAlunos();
}
private void iniciaListaAlunos() {
ListView listaDeAlunos = findViewById(R.id.activity_lista_alunos_listview);
final List<Aluno> alunos = dao.todos();
listaDeAlunos.setAdapter(new ArrayAdapter<>(
this,
android.R.layout.simple_list_item_1,
alunos));
listaDeAlunos.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int posicao, long id) {
Aluno alunoEscolhido = alunos.get(posicao);
// Log.i("ALUNO", alunoEscolhido.toString()); // loga no logcat
Intent intent = new Intent(ListaAlunosActivity.this, FormularioAlunoActivity.class);
intent.putExtra("aluno", alunoEscolhido);
startActivity(intent);
}
});
}
// ...
}