|
Página 1 de 1
|
[ 1 Mensagem ] |
|
[TUTORIAL] ListView parte 3
| Autor |
Mensagem |
|
Marcio_Teixeira
What is Android?
Data de registro: 17 Jul 2011, 21:12 Mensagens: 7
|
 [TUTORIAL] ListView parte 3
Olá, Dando sequência a série sobre ListView, esse que é um dos recursos mais importantes do Android, estamos chegando a parte 3. O exemplo de hoje será uma variação da parte2 http://www.portalandroid.org/comunidade/viewtopic.php?f=7&t=15323, onde será criado um ListView com alguns estados brasileiros com múltipla escolha, a diferença está por conta do layout, que terá fixo no rodapé dois botões, que irão informar ao usuário quais estados foram marcados e quais não foram marcados. Vamos por logo a mão na massa, abaixo segue o código fonte do arquivo list3.java: package br. com. empresa; import android. app. Activity; 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 Activity { private String[] lstEstados; ListView listView; @Override protected void onCreate (Bundle savedInstanceState ) { // TODO Auto-generated method stub super. onCreate(savedInstanceState ); setContentView (R. layout. lista3); listView = (ListView) findViewById (R. id. lista3); //Criar um array de String lstEstados = new String[] {"São Paulo", "Rio de Janeiro", "Minas Gerais", "Rio Grande do Sul", "Santa Catarina", "Paraná", "Mato Grosso", "Amazonas"}; //Criar um ArrayAdapter do tipo String, que vai fazer aparecer as Strings acima //em seu ListView do tipo que checked ArrayAdapter<string> adapter = new ArrayAdapter<string> (this, android. R. layout. simple_list_item_checked, lstEstados ); //Associar o adapter ao listview listView. setAdapter(adapter ); } //Este evento foi definido no arquivo de layout xml public void btnMarcados_click (View view ){ String lstrEstadosSelecionados = ""; //Cria um array com os itens selecionados no listview SparseBooleanArray checked = listView. getCheckedItemPositions(); for (int i = 0; i < checked. size(); i++ ){ //pega os itens marcados lstrEstadosSelecionados += lstEstados [checked. keyAt(i )] + ","; } Toast. makeText(this, "Estados marcados : " + lstrEstadosSelecionados, Toast. LENGTH_LONG). show(); } //Este evento foi definido no arquivo de layout xml public void btnDesmarcados_click (View view ){ String lstrEstadosSelecionados = ""; for (int i = 0; i < listView. getCount(); i++ ){ //pega os itens desmarcados if (listView. isItemChecked(i ) == false){ lstrEstadosSelecionados += lstEstados [i ] + ","; } } Toast. makeText(this, "Estados desmarcados : " + lstrEstadosSelecionados, Toast. LENGTH_LONG). show(); } } Para esse exemplo será necessário criar um arquivo de layout, até porque estaremos incluindo dois botões nesse layout e eles ficarão fixos no rodapé do layout. Abaixo segue o código fonte do arquivo lista3.xml: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout android:layout_height="fill_parent" android:layout_width="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <ListView android:choiceMode="multipleChoice" android:id="@+id/lista3" android:layout_above="@+id/buttons" android:layout_alignParentTop="true" android:layout_height="fill_parent" android:layout_width="fill_parent"/> <LinearLayout android:id="@+id/buttons" android:layout_alignParentBottom="true" android:layout_height="wrap_content" android:layout_width="fill_parent" android:orientation="horizontal"> <Button android:id="@+id/btnMarcados" android:layout_height="wrap_content" android:layout_weight="50" android:layout_width="fill_parent" android:onClick="btnMarcados_click" android:text="Marcados"/> <Button android:id="@+id/btnDesmarcados" android:layout_height="wrap_content" android:layout_weight="50" android:layout_width="fill_parent" android:onClick="btnDesmarcados_click" android:text="Desmarcados"/> </LinearLayout> </RelativeLayout>
Para explicação do layout xml acima temos o seguinte: 1. Criamos um LinearLayout com 2 botões dentro de um RelativeLayout que contém o ListView 2. ListView android:choiceMode="multipleChoice" - Informamos que teremos seleção em nossa lista 3. ListView android:layout_alignParentTop="true" - O ListView ficará alinhado no topo de nosso xml 4. Button android:onClick="btnMarcados_click" - Dizemos qual função irá receber o evento click do botão 5. Button android:layout_weight="50" - Dizemos que o tamanho do botão será de 50% da tela Como resultado final teremos a seguinte tela:  Em breve estarei postando mais opções relacionadas a layout e listview. Acessem o meu blog http://escoladeandroid.blogspot.com que lá vocês encontram mais tutoriais relacionados a ListView. Obrigado e até mais...
|
| 18 Dez 2011, 13:37 |
|
|
|
Página 1 de 1
|
[ 1 Mensagem ] |
|
Quem está online |
Usuários vendo este fórum: ademilson, ademir.carvalhojr, adilson, adilson.afl, adolfo, Adriano, akaytatsu, albinoneto, Andre, apoena, ARAKINIDIO, ariostorecco, arquivo51, Arthas, Bass, bbourbon, berchielli, bozzano, brazucx, C-3PO, cehills, Chassot, Clauber, cleiton_maciel, comolatti, dallari, dariosena, Darth Sidious, David, Deiapinh, diemesleno, Dirceu W. C. Conte, dnakamashi, edsonel, eduzortea, eliasmachado_rj, Erik Patekoski, eXagon, felipe.buarque, fernandodotnet, ffabiano, flaviocc, flaviohssantos, flaviolemos, Flávio Robertgo, fraga, frances135, Francisco_Geraldo, Gabriel Teófilo, Geovanne Duarte, Gnomo, Gomes, guilhermesmo, gusrp, henrique.cardoso, infonlinebr, jackstuard, jaydson, jcorreajr, jgfelix, jhonguitar, jhou, jlucasps, jorgecardoso, José Guilherme, Jota, JRSIQUEIRA, juliherms, jzaires, kidush, klebersilvarocha, konos, laucode, lfalcao, Lincoln, lucasB, lucasmadeira, lucianno, lufreitas, luiz.lago, luizfilipe, marcelochiquinho, marcelosv, Marlosm, mauriciomag, mcroft, mcurtis, mikasjau, mirelli, mmfsndroid, MSPRAFAEL, Nidio Dolfini, nilsgome, nina.rm, nivaldo, nq6, pabarbosa, paint-horse, paulanegreiros, Paulo, persiomotta, Philipe Alves, pmzara, pomarolli, pxcx, Ranieri, rcotonet, renata, rguadagnini, ricardo_listadelphi, rlecheta, rmendes, Roberto, RodReis, ROGÉRIO RODRIGUES, romuloff, rubens_olv, schiroky, shadow, siker C3PO, SirBagda, sobrinho, ThiMatsu, Tiago Sousa Roch, tiasousa, tnarnold, ubiratan, unnamedd, vanmars, VIEIRIX, viniciusgoncalves, wagner_francisco, waideman, washington, Wds, wil, xa:=zin, xikin, yeltsinlima, Yoda e 2 visitantes |
|
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
|
|