quinta-feira, 15 de dezembro de 2011 0 comentários


Desenvolvendo uma aplicação de lista telefônica




Agora vamos fazer uma nova aplicação em Android. Essa aplicação
consiste em uma lista telefônica já pronta com contatos. Quando selecionamos
um contato, ele mostra na tela uma mensagem com o nome selecionado. A
nossa aplicação vai fazer uso do widget chamado ListView, que exiba uma lista
contendo valores que podem ser selecionados. Veja a estrutura de uma
ListView abaixo:

Bom, vamos criar um novo projeto chamado ProjetoLista. Siga os dados
abaixo:
Project Name: ProjetoLista
Package Name : com.android.applist
Activity Name: AppList
Application Name: Lista de contatos
No arquivo main.xml, coloque o seguinte código: 34
package com.android.applist;
import android.app.Activity;
import android.app.AlertDialog;
import android.os.Bundle;
import android.widget.*;
import android.widget.AdapterView.OnItemClickListener;
import android.view.*;
public class AppList extends Activity {
public ListView lista;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ArrayAdapter adapter = new
ArrayAdapter(this,android.R.layout.simple_list_item_1,
contatos);
lista = (ListView) findViewById(R.id.lista);
lista.setAdapter(adapter);
lista.setOnItemClickListener(new OnItemClickListener(){
public void onItemClick(AdapterView arg0, View arg1,
int arg2,
long arg3) {
showMessage(lista.getSelectedItem().toString(),"Contato
selecionado");
}
});
}
static final String[] contatos = new String[] {
"Alline","Lucas","Rafael","Gabriela","Silvana"
};
public void showMessage(String Caption,String Title) {
AlertDialog.Builder builder = new
AlertDialog.Builder(AppList.this);
builder.setMessage(Caption);
builder.setNeutralButton("OK", null);
AlertDialog dialog = builder.create();
dialog.setTitle(Title);
dialog.show();
}
}
Vamos analisar alguns códigos acima. A linha
static final String[] contatos = new String[] {
"Alline","Lucas","Rafael","Gabriela","Silvana"
35
};
Cria uma constante chamada contatos, onde nela coloco alguns nomes.
Essa constante vai ser utilizada pela nossa lista. Para que eu posssa carregar
dos dados em uma ListView, preciso fazer uso da classe ArrayAdapter, como
mostra a instrução abaixo:
ArrayAdapter adapter = new
ArrayAdapter(this,android.R.layout.simple_list_item_1,
contatos);
A instrução mostrada acima cria uma instância da classe ArrayAdapter
chamada “adapter” onde carrego nela o vetor de Strings da constante contatos.
A instrução:
lista.setAdapter(adapter);
Carrega os valores para a ListView, que está contido o objeto adapter.
Como havia falado, quando clicássemos em um item, o sistema mostraria
uma mensagem do item selecionado. Isso é conseguido fazendo uso da
interface OnItemClickListener, como mostra a instrução abaixo:
lista.setOnItemClickListener(new OnItemClickListener(){
public void onItemClick(AdapterView arg0, View arg1, int
arg2,long arg3) {
showMessage(lista.getSelectedItem().toString(),"Contato selecionado");
}
});
Toda vez que clicarmos em um item da lista, o método onItemClick será
disparado e será executado o comando abaixo:
showMessage(lista.getSelectedItem().toString(),"Contato selecionado");
Que exibe o item selecionado. A obtenção do item clicado e feita
chamando o método “getSelectedItem()” . Porém, como ele retorna um tipo
“Object”, preciso converter para String o item clicado, através do método
toString.



 
;