Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Estou com dúvida no curso de Android : Interface, aparência e recursos do device - Parte 2, no exercício do capítulo Completando nosso sistema: Intents.

Não entendi muito bem o exercicio e como se faz, e pra qual motivo alguem poderia me explicar?

1 resposta
solução!

Quando clicamos em um aluno, na ListaAlunosActivity, disparamos um evento para editar o aluno em questão e assim passamos essa intenção para a FormularioActivity.

Então para que na FormularioActivity o aluno em questão seja carregado passamos o aluno através do método putExtra de Intent, que é como um MAP, onde atribuímos uma chave a um dado, no caso aluno selecionado. Para depois acessar esse dado utilizamos essa mesma chave.

Exemplo em ListaAlunosActivity

listaAlunos.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> adapter, View view,
                    int posicao, long id) {
                alunoSelecionado = (Aluno) adapter.getItemAtPosition(posicao);

                Intent edicao = new Intent(ListaAlunosActivity.this,FormularioActivity.class);
                edicao.putExtra(Extra.ALUNO_SELECIONADO, alunoSelecionado);

                startActivity(edicao);

            }
        });

Então carregamos o aluno na FormularioActivity acessando a intent que foi passada na ListaAlunosActivity.

Exemplo em FormularioActivity

Intent intent = this.getIntent();
        Aluno alunoDaIntent = (Aluno) intent.getSerializableExtra(Extra.ALUNO_SELECIONADO);

        if (alunoDaIntent != null) {
            helper.colocaNoFormulario(alunoDaIntent);
            btnGravar.setText("Alterar");
        }

Nesse processo para que não ocorra confusão com outras chaves definimos a class Extra que vai armazenar como constantes as chaves utilizadas.