DESENVOLVER PARA ANDROID: CRIANDO UMA TELA SIMPLES DE LISTAGEM.

Citei no post anterior, o código gerado pelo eclipse de forma automática. O projeto criado já é nosso helloWorld, assim, não precisamos escrever uma linha de código sequer.

Continuando com os posts relacionados à plataforma android, falarei de alguns componentes visuais (todas as telas do android são feitas num arquivo XML). E também inserir alguns eventos de clique, tornando nossa aplicação mais interativa (a alma do negócio).

Montando uma tela simples de listagem de nomes de pessoas, para isso adicionamos o componente ListView que exibi alguma Lista de conteúdos (ah vá..). Temos esse jeitão da nossa classe main.xml (tela principal).

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 >
 <ListView
 android:id="@+id/lista"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"/>
</LinearLayout>

Se você der uma olhada na classe R.java, você verá sua ListView mapeada com o seu id. Tudo nos conformes!

Agora nossa classe Main.java


public class Main extends Activity {
 @Override
 public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.main);

 String[] listaDeNomesASeremListados = {"Yuri","Adams","Chaves","Maia"};
 ListView listView = (ListView) findViewById(R.id.lista);
 ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,listaDeNomesASeremListados);
 listView.setAdapter(adapter);

 listView.setOnItemClickListener(new OnItemClickListener() {

 @Override
 public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
 long arg3) {
 Toast.makeText(Main.this, "você clicou no evento de clique simples!", Toast.LENGTH_LONG).show();

 }
 });

 listView.setLongClickable(true);
 listView.setOnItemLongClickListener(new OnItemLongClickListener() {

 public boolean onItemLongClick(AdapterView<?> adapter, View view,
 int posicao, long id) {
 Toast.makeText(Main.this, "você clicou no evento de clique longo!", Toast.LENGTH_LONG).show();
 return false;
 }

 });
 }
}

Vamos ao passo-a-passo.

  1. Criamos um array de nomes, que serão listados pela componente ListView.
  2. Nós pegamos a referência do componente para o objeto da classe ListView (daí a importância da classe R.java).
  3. Criamos um adapter, que se trata, como o nome já diz, um adaptador para que a lista possa ser “entendida” e listada pela componente e..
  4. Setamos esse adapter ( por meio do método setAdapter(adapter) – ah vá..).
  5. Alguns componentes do android possui suporte a eventos de clique. E olha só, a ListView possui! Para adicionarmos esses eventos chamamos os métodos de clique simples e clique longo. Chamamos o método de clique simples, o setOnItemClickListener, e passamos como parâmetro um objeto anônimo do tipo OnItemClickListener. Sobrescrevemos o método onItemClick e criamos um Toast. Nossa “torrada” serve apenas para abrir uma caixa de diálogo exibindo alguma mensagem (tipo o showMessageDialog). Passamos o contexo, a mensagem que será exibida e a duração do toast.
  6. De forma análoga fazemos para implementar o evento de clique longo. Com uma diferença, o retorno do método onItemLongClick. O booleano indica se as ações que estiverem em background continuarão rodando.

Por fim, vamos ao resultado:

É isso galera, até a próxima.

One Response to DESENVOLVER PARA ANDROID: CRIANDO UMA TELA SIMPLES DE LISTAGEM.

  1. RIACycle Inc. disse:

    Excelente matéria

    Temos um curso dedicado exclusivamente para mostrar essas técnicas.

    http://www.riacycle.com/android

    O curso é bem estruturado e tem um conteúdo programático bem interessante.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: