Ver mensagens sem resposta | Ver tópicos ativos Hoje é 22 Nov 2017, 18:56



Responder Tópico  [ 4 Mensagens ] 
 [TUTORIAL] ListView parte 2 
Autor Mensagem
What is Android?
What is Android?

Data de registro: 17 Jul 2011, 22:12
Mensagens: 7
Mensagem [TUTORIAL] ListView parte 2
Olá,

Dando sequência a série sobre ListView, esse que é um dos recursos mais importantes do Android, estamos chegando a parte 2.

Hoje vou mostrar como criar um ListView com opção de múltipla escolha, ele será parecido com o primeiro exemplo que eu mostrei no post http://www.portalandroid.org/comunidade/viewtopic.php?f=7&t=15277, será criada uma lista de Estados Brasileiros e será identificado dentro do sistema quando você clicar em qualquer um dos Estados e quando sair de sua Activity, o sistema apresentará todos os Estados que você deixou selecionado.

De posse dessa informação cabe a você criar situações reais para esse código.

Abaixo segue o fonte de exemplo:

package br.com.empresa;
 
import android.app.ListActivity;
import android.os.Bundle;
import android.util.SparseBooleanArray;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
 
public class list3 extends ListActivity {
    private String[] lstEstados;
    ListView listView;
 
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        // Create an array of Strings, that will be put to our 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 do tipo que checked
        this.setListAdapter(new ArrayAdapter<string>(this, android.R.layout.simple_list_item_checked, lstEstados));
   
        //cria o próprio listview
        listView = getListView();
   
        //indica o modo de seleção dos itens, neste caso podemos selecionar quantos itens quisermos
        listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
   
    }
 
    @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();
    }
 
    //Evento executado quando finalizar(clicar no botão voltar) a Intent
    @Override
    protected void onDestroy() {
        // TODO Auto-generated method stub
        super.onDestroy();
        int len = listView.getCount();
        String lstrEstadosSelecionados = "";
   
        //Cria um array com os iten selecionados no listview
        SparseBooleanArray checked = listView.getCheckedItemPositions();
   
        for (int i = 0; i < checked.size(); i++)  {
            //pega os itens selecionados
            lstrEstadosSelecionados += lstEstados[checked.keyAt(i)] + ",";
        }
        Toast.makeText(this, "Você selecionou os estados : " + lstrEstadosSelecionados, Toast.LENGTH_LONG).show();
    }
}
 


Agora vamos ver algumas dicas para se ter um melhor entendimento sobre o código:
1.Como no exemplo da Parte 1, nesse também não preciso ainda de um layout em XML.
2.Foi implementado o método onDestroy, ele é executado toda vez que você o comando finish() em seu programa ou clicar no botão voltar de seu aparelho.
3.Utilizamos a classe SparseBolleanArray para criar um array com todos os itens selecionados em seu ListView.

Como resultado temos a seguinte imagem:
Imagem

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

Acessem o meu blog http://escoladeandroid.blogspot.com que lá vocês encontram mais tutoriais relacionados a ListView.

Obrigado e até mais...

_________________
Circus Puzzle Free - testem, comentem
https://market.android.com/details?id=br.com.escoladeandroid&feature=search_result

Escola de Android
http://escoladeandroid.blogspot.com/


11 Dez 2011, 13:54
Perfil
What is DDMS?
What is DDMS?

Data de registro: 10 Nov 2011, 13:22
Mensagens: 35
Mensagem Re: [TUTORIAL] ListView parte 2
Marcio...

estou iniciando a programar para android e estou pegando vários tutos aqui do fórum para me ajudarem...
Muito bons esses seus!
Mas estou com algumas dificuldades.... tanto o tutorial ListView parte 1 como o parte 2 estão acusando erro no mesmo lugar...

this.setListAdapter(new ArrayAdapter<string>(this, android.R.layout.simple_list_item_checked, lstEstados));


você sabe o que pode ser??


02 Fev 2012, 13:39
Perfil
What is Android?
What is Android?

Data de registro: 17 Jul 2011, 22:12
Mensagens: 7
Mensagem Re: [TUTORIAL] ListView parte 2
André

O erro é que deve escrever String com "S" maiusculo

this.setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_checked, lstEstados));


Obrigado

_________________
Circus Puzzle Free - testem, comentem
https://market.android.com/details?id=br.com.escoladeandroid&feature=search_result

Escola de Android
http://escoladeandroid.blogspot.com/


03 Fev 2012, 01:42
Perfil
What is Android?
What is Android?

Data de registro: 17 Jan 2014, 16:12
Mensagens: 1
Mensagem Re: [TUTORIAL] ListView parte 2
Olá,
Dei uma olhada no codigo, ele funciona legal, mas a parte de pegar somente os itens selecionados que não está legal, ela funciona mais como "pegar os itens que foram clicados", Ex.: Eu quero que pegue somente os itens com check box marcados, mas se eu marco o estado SP ai marco MG, ai desmarco SP, o certo seria ele me apresentar somente MG, mas ele aparece os dois estados que eu cliquei.

Se tiver alguma solucao,

Agradecido,


17 Jan 2014, 16:14
Perfil
Mostrar mensagens anteriores:  Organizar por  
Responder Tópico   [ 4 Mensagens ] 

Quem está online

Usuários vendo este fórum: Adeja, allart, aluclinux, amarildolacerdas, americano, arkanjo, Avelino Mateus Neto, baudamix, Bitetti, bocajunior88, BTalhadas, camilodev, Carlos Alexandre, cesschneider, Chassot, Chaves, Chefe Nass, cleber, cleberkct, cosmotheoro, Cr-Informática, Crazy_Droid, criscmaia, Danilo Dias, David, dentimskol, dobau, Dookan, Douglas Siviotti, eluttner, emersonbarros, eusobacana, fabrizior, felipe.cintra, fernandodotnet, fraga, gabrielatme, gabrielpg, Governador Wilhuff Tarkin, gphonemania, guto.pro, gutodias, hopper.frf, icarodavi, ijsilvestre, ismaels, JAndroid, Jenius, jgfelix, jijo, juniorsk8, klassmann, klyff, kpinheiro, kusanaguy, laurj, leosl81, LForce, lisbao, lucianoalves, luciocamilo, Marcelo Lima, Matheus562, maurosilva, Mayara Trevisol, Mayron Cimardi, mrkensley, Mvitor, nandopierre, NeruLL, Nidio Dolfini, niloleite, PAMinhoto, paulabr, pfsmorigo, pingumanbr, polonia, Rafael Alencar, reginaldo, Renan, renan.fernandes, ricardo_listadelphi, Roberto, rodrigosalfer, romuloff, SERGIO RODRIGUES, Stryder, tchou, thanaptos, tiagoxv, tonical, Topeca, unnamedd, vandob, viniciusluiz, voliverio, Wendel Carvalho, Wesleyceraso, xikin, YaCy e 1 visitante


Você não pode criar novos tópicos neste fórum
Você não pode responder tópicos neste fórum
Você não pode editar suas mensagens neste fórum
Você não pode excluir suas mensagens neste fórum
Você não pode enviar anexos neste fórum

Procurar por:
cron

© 2007 - 2016 Portal Android - Comunidade de Desenvolvedores Android

Estamos no Linkedin    Siga-nos no twitter


Powered by phpBB - Hospedado por Bemobi