Pessoal,
Estou começando a mexer com o J2ME, embora já programe em C e C++, e to com um problema: Eu criei uma Lista de Opções e uma SubLista, q seria uma outra lista de opções para cada opção desta primeira lista… mas nao consigo acessá-la… será q vcs poderiam me dar uma luz sobre como manusear Listas e Sublistas???
Problemas na criação de menus
7 Respostas
Se você tem uma lista com 4 opções, então terá ao todo 5 objetos List.
Dependendo do item selecionado no List, você deverá dar um setcurrent em um deles.
E como eu faço para acessar um item de uma sublista? Vc poderia me dar só um exemplo para eu ter uma base???
O que vc precisa está abaixo.
Para cada opção da lista, existe um case associado.
Coloque no case o que vc deseja executar.
Como dica, procure manter ele pequeno, fazendo chamada a outras rotinas, ao invés de colocar um código colossal nele.
Isto irá facilitar futuras expansões e melhora a legibilidade do código.
public void commandAction ( Command c, Displayable d ) {
if ( c == cmdSair ) {
...
return;
}
// Foi selecionada alguma opção da lista ?
if ( c == List.SELECT_COMMAND ) {
switch ( this.getSelectedIndex ( ) ) {
case ( 0 ) :
....
break;
case ( 1 ) :
}
}
}
boone,
eu agradeço demais pela sua atenção, mas até aí eu consegui fazer… a minha dúvida é a seguinte, se eu posso fazer uma outra lista dentro de cada “case”… pq eu tentei e naum consegui acessá-las…
Poste seu código.
Fica mais fácil identificar “a arte” que você anda aprontando para ele não funcionar !
Consegui! O q eu queria era simplesmente fazer uma lista dentro de outra lista… eu procurei em várias apostilas e deu certo! Vou postar o código aqui para ajudar mais alguém q tiver dúvida neste ponto…
// Menu principal
this.MenuPrincipal = new List("Menu Principal", Choice.IMPLICIT, menuElementos, null);
this.menu.addCommand(this.Sair);
this.menu.setCommandListener(this);
//Opção do menu Principal (SubMenu)
this.SubMenu = new List("SubMenu", Choice.IMPLICIT, submenuElementos, null);
this.SubMenu.addCommand(this.Sair);
this.SubMenu.addCommand(this.Prox);
public void commandAction(Command c, Displayable d)
{
//Verifica qual item da lista do menu principal foi selecionado
if (c == List.SELECT_COMMAND && d == this.menu)
{
//Apresenta lista de Opções do menu principal
switch (this.menu.getSelectedIndex())
{
case 0:
//Opção 1 (q contém o SubMenu)...
break;
case 1:
//Opção 2...
break;
}
}
//Opção 1 escolhida
if (c == this.Prox)
{
//Seleciona ação em outra lista dentro da Opção 1
switch(this.opção1.getSelectedIndex())
{
case 0:
//Opção 1.1 ...
break;
case 1:
//Opção 1.2 ...
break;
// ...
}
}
}
Eu gostaria de agradecer a atenção q eu tenho recebido aqui… muito obrigada! Eu entrei em outros foruns, mas ngm respondia tópico de ninguém… é uma grande falta de consideração com quem está procurando alguma ajuda! Muito obrigada mesmo pela atenção e pela consideração não só por mim, mas por todos q tentam solucionar suas dúvidas aqui neste fórum!