Estou com o seguinte problema: Tenho um menu numa ListView, gostaria de passar o item do menu clicado para outra tela para chamar a consulta corresponde ao item clicado. Todas consultas chamam a mesma classe mudando somente a sql.
No case 2, perceba que você criou a intent mas não passou ela no método startActivity. Você criou outro objeto ao invés disso, e por isso o extra não está chegando na Lista.
Como fazer pra pegar somente as letras do menu, sem o número?
wagnerfrancisco
Tem várias maneiras. Me parece gambiarra o que você tá querendo fazer… mas enfim, se você garante que vai usar o mesmo padrão, pode usar o método substring para pegar somente a partir de um determinado caractere:
itemMenu.substring(3);
Isto pegaria somente a string a partir do terceiro caractere.
F
fbrigatt
Wagner, pior que é, porque não vi outro jeito de fazer. Você tem alguma ideia de como fazer do modo correto?
No método carregarLista, faria a consulta Listar Clientes, só que não faz essa consulta, fiz um log na opcao, está igual o que está entre aspas, só que não faz nada.
Consegui utilizando equals. Teria uma sugestão para não fazer gambiarra?
F
fbrigatt
E ai Wagner beleza, tem msn? O que vc sugere pra ficar mais prático o projeto? O meu é [email removido]
F
fbrigatt
E ai Wagner beleza? Tem alguma sugestão para não ser gambiarra?
wagnerfrancisco
Uma solução simples seria definir algumas constantes na classe Lista:
Mas o ideal é usar enums para definir as constantes e definir as strings da tua aplicação num arquivo próprio (strings.xml), o que facilita na internacionalização. Dê uma procurada sobre isto.
F
fbrigatt
Tem como fazer um exemplo aqui mesmo disso?
wagnerfrancisco
Po… dá uma procura sobre enums aqui no fórum mesmo, vai achar muita coisa…
Se não tentar, não vai aprender…
F
fbrigatt
É verdade, aprendi muita coisa com você. Só pra adiantar, o que são enums, tem pra android aqui no forum? Tem algum link sobre isso pra dar uma olhada?
F
fbrigatt
Wagner,
Isso seria um enum:
publicstaticfinalStringItemMenu_1="Listar todos Clientes";publicstaticfinalStringItemMenu_2="Listar Carros Cliente";publicstaticfinalStringItemMenu_3="Listar Carros por Placa";publicstaticfinalStringItemMenu_4="Listar Carros por Cliente";@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);String[]items=newString[]{"1 - Cadastro Clientes","2 - Cadastro Veículos","3 - "+ItemMenu_1,"4 - "+ItemMenu_2,"5 - "+ItemMenu_3,"6 - "+ItemMenu_4,"7 - Sair"};ArrayAdapter<String>arrayAdapter=newArrayAdapter<String>(this,android.R.layout.simple_list_item_1,items);setListAdapter(arrayAdapter);}