domingo, 30 de outubro de 2011

Android - ListView Parte 1

Olá,

Estarei apresentando uma série de artigos que irão mostrar como utilizar o ListView, esse que é um dos recursos mais importantes e utilizados em qualquer aplicativo em Android.

Hoje começarei com o mais básico de todos ListView, ou seja, uma lista simples de itens, mas que já poderemos identificar qual item foi selecionado através do evento onListItemClick.

Todo o fonte apresentado será documentado para facilitar no seu aprendizado.

Abaixo segue o fonte list1.java para exemplo:
package br.com.empresa;

import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class list1 extends ListActivity {
 
    private String[] lstEstados;
 
    public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    //Criar um array de Strings, que será utilizado em seu ListActivity
    lstEstados = new String[] {"São Paulo", "Rio de Janeiro", "Minas Gerais", "Rio Grande do Sul", 
        "Santa Catarina", "Paraná", "Mato Grosso", "Amazonas"};
  
        //Criar um ArrayAdapter, que vai fazer aparecer as Strings acima
        //em seu ListView
        this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, lstEstados));
    }

    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) 
    {
        super.onListItemClick(l, v, position, id);

        //Pegar o item clicado
        Object o = this.getListAdapter().getItem(position);
        String lstrEstado = o.toString();
  
        //Apresentar o item clicado
        Toast.makeText(this, "Você clicou no estado : " + lstrEstado, Toast.LENGTH_LONG).show();
    }
}

Abaixo seguem alguns entendimentos e detalhes importantes que deve-se ter no código acima são:
1. A classe deve extender de um ListAcitity.
2. A variável lstrEstados foi criado como modular para poder ser utilizada em outros métodos.
3. O métodos onListItemClick foi criado para que você possa identificar em qual item do seu array o usuário clicou, e em cima disto você pode efetuar a programação que for necessária.
4. Um caso interessante é que nesse exemplo não tem a necessidade de se criar um layout em XML.


Como resultado temos a seguinte imagem:
ListView


Em breve estarei postando outras opções de ListView, por exemplo, opções de ícones, checkbox e etc.

Parte 2 : http://escoladeandroid.blogspot.com/2011/11/trabalhando-com-listview-parte-2.html
Parte 3 : http://escoladeandroid.blogspot.com/2011/12/trabalhando-com-listview-parte-3.html
Parte 4 : http://escoladeandroid.blogspot.com/2011/12/trabalhando-com-listview-parte-4.html
Parte 5 : http://escoladeandroid.blogspot.com/2011/12/trabalhando-com-listview-parte-5.html
Parte 6 : http://escoladeandroid.blogspot.com/2011/12/android-listview-parte-6.html
Parte 7 : http://escoladeandroid.blogspot.com.br/2012/03/android-listview-parte-7.html
Parte 8 : http://escoladeandroid.blogspot.com.br/2012/03/android-listview-parte-8.html


Trabalhando com Banco de Dados SQLite:
http://escoladeandroid.blogspot.com/2012/02/android-criando-uma-agenda-de-contatos.html


Desenvolvi o jogo Circus Puzzle Free ele é um quebra-cabeça e está publicado no Android Market, agradeço a todos que baixarem, jogarem e comentarem.



Desenv com qualidade!

6 comentários:

Anônimo disse...

esta dando erro na linha 22

Marcio de Souza disse...

Olá,

Realmente, tinha errado mesmo, estava escrito quando o correto é

Obrigado !

Marcio de Souza disse...

Tinha escrito string quando o correto é String com S maiusculo

Arlan Dantas disse...

Cara Desculpe-me pela "ignorancia" mas como eu faço para aplicar este Activity a minha ListView??

Obrigado pela atenção"

Marcio de Souza disse...

Arlan,

Acho que não entendi direito sua dúvida, mas acho que o que você está querendo deve estar na "Parte 3" que a classe extend de uma Activity.

Obrigado

Djalma disse...

Não de certo comigo diz que não reconhece os métodos this.setListAdapter e
super.OnListItemClick, como faço?