- Rating:
- 5
Summary:
Fala galera!
Continuando nossa série de tutoriais Android, vamos ver hoje como manipular dados de um formulário em Android. Vamos obter os dados dos campos e salvar na memória do aparelho.
Se você ainda não viu o último tutorial da série, aproveite e aprenda um pouco mais sobre layouts XML em Android. Se você é preguiçoso e apenas baixou o projeto, importe-o para sua workspace. Para tal, vá em File → Import… → Existing Projects into Workspace, dentro de General.
Feito isso, mãos à obra!
Como manipular dados de um formulário em Android
Vamos modificar nossa Activity principal ListaCarros. Vamos fazer com que, ao apertar o botão Salvar, a aplicação salve os dados digitados na memória do aparelho. Lembre-se que ao fechar o aplicativo, é feita a limpeza da memória e os dados são apagados.
Logo no primeiro instante, devemos instanciar todos os itens que vamos utilizar, neste caso serão os dois campos EditText, o botão Button e a lista ListView. Mas primeiro vamos declarar os componentes. Esse código é adicionado antes do método onCreate(). Vamos também instanciar um objeto do tipo List<String>que irá armazenar os dados salvos para exibir na nossa lista, e um objeto do tipo ArrayAdapter<String> que irá manter os dados salvos na lista.
EditText veiculo; Button salvar; ListView lista; List<String> listaCarros; ArrayAdapter<String> adaptador;
Note que, ao dar Ctrl C + Ctrl V digitar esse código, o Eclipse acusará erro. Isso acontece pois ao declarar componentes, devemos importar suas classes respectivas. E para fazer isso automaticamente, no Eclipse, basta apertar Ctrl + Shift + O.
Agora sim, vamos instanciar os objetos. Vamos utilizar a função nativa findViewById, retorna uma View (componente) de acordo com o parâmetro passado. Esse parâmetro será o ID do campo, vindo da classe R. Antes da função findViewById, devemos “forçar” a conversão do seu retorno para o tipo de componente ao qual faz referência. No caso da List e do ArrayAdapter, vamos apenas instanciar a classe, passando os parâmetros padrões.
veiculo = (EditText) findViewById(R.id.veiculo); salvar = (Button) findViewById(R.id.salvar); lista = (ListView) findViewById(R.id.lista); listaCarros = new ArrayList<String>(); adaptador = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, listaCarros);
Para adicionar a ação ao botão, devemos chamar o método setOnClickListener presente na classe Button. Dentro dele, no método onClick(), todas as ações serão definidas. Vamos fazer com que os dados digitados sejam salvos na lista de carros, e exibida no objeto lista.
salvar.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { listaCarros.add(veiculo.getText().toString()); adaptador.notifyDataSetChanged(); } });
Depois de adicionar na lista o texto digitado no campo, devemos chamar o método notifyDataSetChanged() para informar que a lista de carros foi atualizada.
Por fim, não podemos nos esquecer de atrelar o adaptador à lista.
lista.setAdapter(adaptador);
Tudo pronto! Execute o código e veja como ficou.
Considerações Finais
Esse projeto, até o momento, é bem simples e faz muito pouco perto do que podemos fazer. No próximo tutorial vamos incrementar nossa lista, adicionando mais campos ao formulário.
Baixe o projeto atual aqui.
Até mais, pessoal!
1 Comment
[…] você ainda não viu o último tutorial da série, aproveite e aprenda um pouco mais sobre como manipular dados de um formulário em Android. Se você continua é preguiçoso e apenas baixou o projeto, importe-o para sua workspace. Para […]