|
Página 1 de 1
|
[ 2 Mensagens ] |
|
[TUTORIAL] Utilizando o recurso ExpandableListView
| Autor |
Mensagem |
|
victorapc
Widgets
Data de registro: 13 Abr 2011, 17:37 Mensagens: 309
|
 [TUTORIAL] Utilizando o recurso ExpandableListView
E ae pessoal blz? Estou fazendo um pequeno tutorial usando o ExpandableListView para ajudar quem queira usar esse recurso que é muito legal. Pra quem não conhece esse recurso, a finalidade dele é expandir uma lista. O que seria isso exatamente(rsrs)? Seria a forma, por exemplo, abrir uma nova lista dentro da lista, criando tipo menu e sub-menu, com isso que se dá a caracteristica de expandir a lista. Da pra deixar sua APP bem organizada. Vamos para o que interessa, mão na massa rsrsrs. Primeiramente vc cria um layout. <?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"> <TextView android:id="@+id/textMenu" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#ff999999" android:textColor="#ff000000" android:textstyle="bold" android:gravity="center" android:textSize="18sp" /> <ExpandableListView android:id="@+id/listCadastro" android:layout_width="fill_parent" android:layout_height="0dip" android:layout_weight="1" > </ExpandableListView> </LinearLayout> Vc pode observar que o ExpandableListView é a mesma coisa que um ListView só que com recursos a mais é só colocar esse recurso no lugar de um ListView. Agora a parte mais complexa. O código em java public class ExpandirLista extends Activity { private static final String KEY1 = "MENU"; private static final String KEY2 = "SUBMENU"; private String[] MENU = {"MENU 1", "MENU 2", "MENU 3"}; private String[][][] SUBMENU = { {{"SUBMENU 11", "TEXTO 11"}}, {{"SUBMENU 21", "TEXTO 21"}, {"SUBMENU 22", "TEXTO 22"}}, {{"SUBMENU 31", "TEXTO 31"}, {"SUBMENU 32", "TEXTO 32"}, {"SUBMENU 33", "TEXTO 33"}}}; @Override public void onCreate (Bundle savedInstanceState ) { super. onCreate(savedInstanceState ); setContentView (R. layout. cadastro); List<Map<String, String>> menuData = new ArrayList<Map<String, String>> (); List<List<Map<String, String>>> subMenuData = new ArrayList<List<Map<String, String>>> (); for(int i = 0; i < MENU. length; i++ ) { Map<String, String> curMenuMap = new HashMap<String, String> (); menuData. add(curMenuMap ); curMenuMap. put(KEY1, MENU [i ]); curMenuMap. put(KEY2, ""); List<Map<String, String>> subMenu = new ArrayList<Map<String, String>> (); if (SUBMENU. length > i ) { for(int j = 0; j < SUBMENU [i ]. length; j++ ) { Map<String, String> curSubMenuMap = new HashMap<String, String> (); subMenu. add(curSubMenuMap ); curSubMenuMap. put(KEY1, SUBMENU [i ][j ][0]); curSubMenuMap. put(KEY2, SUBMENU [i ][j ][1]); } } subMenuData. add(subMenu ); } ExpandableListAdapter adapter = new SimpleExpandableListAdapter ( this, menuData, android. R. layout. simple_expandable_list_item_1, new String[] {KEY1, KEY2 }, new int[] {android. R. id. text1, android. R. id. text2}, subMenuData, android. R. layout. simple_expandable_list_item_2, new String[] {KEY1, KEY2 }, new int[] {android. R. id. text1, android. R. id. text2} ); ExpandableListView listView = (ExpandableListView ) findViewById (R. id. listCadastro); listView. setAdapter(adapter ); listView. setOnGroupClickListener(new OnGroupClickListener () { public boolean onGroupClick (ExpandableListView parent, View v, int groupPosition, long id ) { return false; } }); listView. setOnChildClickListener(new OnChildClickListener () { public boolean onChildClick (ExpandableListView parent, View v, int groupPosition, int childPosition, long id ) { Toast. makeText(ExpandirLista. this, "Posição Menu: " + groupPosition + " Posição SubMenu: "+ childPosition, Toast. LENGTH_SHORT). show(); return false; } }); }} Então é isso ae pessoal. É bem facinho. Se procurar no google poderá encontrar uns personalizados. Mais resolvi passar um mais simples pra não complicar muito, ae é só usar sua criatividade para modificar a sua escolha =)
|
| 08 Nov 2011, 23:53 |
|
 |
|
renanphilipe
What is DDMS?
Data de registro: 05 Out 2011, 15:17 Mensagens: 32
|
 Re: [TUTORIAL] Utilizando o recurso ExpandableListView
Olá amigo, Este tutorial era exatamente o que eu estava procurando! Muito obrigado por telo postado aqui. Mas como sou iniciante =/, eu adoraria que este tutorial fosse comentado. Pois não tenho conhecimento de alguns termos do mesmo, exemplo.: List<Map<String, String>>. Milhares de iniciantes e eu, agradeceriamos muito se você ou mesmo alguém pudesse Comentar os items deste tutorial. Mesmo assim muiito obrigado. 
|
| 09 Nov 2011, 15:19 |
|
|
|
Página 1 de 1
|
[ 2 Mensagens ] |
|
Quem está online |
Usuários vendo este fórum: ademilson, adenilsonsena, Analista, Andre Brito, andrigo, Androidthebest, arquivo51, Arthas, attomweb, Augusto, austonrd, avsouza, Berbert, Bitor, BOMBER27, bomcabelo, Brunohc, BrunoO, btleandro, caciara, caio, Captain Typho, Carlos Almeida, carlos rodrigues, carlos.macleod, cavenaghi, Chassot, Chaves, Chewbacca, ciro, cleberkct, Clone Trooper, Crazy_Droid, criscmaia, cyzko, Damiani Oliveira, DAVINCE, dbispo, Dorpho, du_sr, ederson_4, Eduardo - Brasil, eduardo.ali, eduzortea, eluttner, Faroli, Fernando Cardia, ffabiano, Flavio, flaviocc, flaviojps, Flávio Robertgo, fredjpa, free_w3000, gamito, geco, Geovanne Duarte, Google Desktop, Gui Pereira, Guilherme Cobain, gusrp, gustavo, gutem25, guto.pro, HAMSES, helder84, hopper.frf, humberto, HyagoRules, ICCrawler - ICjobs, ismaels, JairoCN, jandersonjc, jhonguitar, Jorge Machin, jorgeFernandes, juliherms, juniorfranca, juniorsk8, kecyobarros, klyff, LForce, lhdiassilva, lillian.brandao, lucasB, lucasmadeira, luiz.lago, marceloaragao, marcelocastellani, marcelorferrari, Marini, memnoch, mmiottobarbosa, mravel, mrkensley, mtomazzi, mvoto, neosun, nilsgome, nirvana, nocivus, Obi-Wan Kenobi, obitow, osternack, Padawan, Paulo Bizzo, phfmendes, piantino, pjorge, polonia, Rafael Alencar, rafael.winter, rafaelmonoh, Rainha Amidala/Padmé, ramonsiebra, rayberg, reginaldo, renata, ricardoogliari, rlecheta, rodrigo_mg, Rogério, ROGÉRIO RODRIGUES, Roll, romulotales, scattonevi, schiroky, shadow, silvio.carlos, thiago@xbrain.com.br, thiagotomais, thiaguim, thosjanas, tiago, Tognoli, Toks, wagner_francisco, Webnet, Wenceslau, wingdoido, Zam Wesell, zaquiel e 5 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
|
|