Olá, acabo de terminar o tutorial da revista WebMobile de introdução ao J2ME usando o Netbeans 4.1. No aplicativo gerado, há uma lista (“Itens” e “Alertas”) de onde o usuário escolhe entre a exibição de uma nova lista (que gera alertas) ou um formulário para a entrada de dados.
Bom, o programa funcionou perfeitamente no emulador padrão no Netbeans e também nos da Nokia para os modelos 3510i e 7210. Mas quando transfiro o programa para um Nokia 6600, o comando para a exibição dos formulários não funciona (a exibição da nova lista com os alertas funciona numa boa). Ao invés de mostrar o formulário, o aparelho exibe o nome do aplicativo no lugar do título e permanece na lista de comandos. Tentei ver como funcionavam os formulários gerados automaticamente pelo próprio Netbeans, que funcionam sem problemas no 6600, mas não encontrei nada que explicasse essa mudança de comportamento (até tentei fazer algumas substituições de código, mas em vão).
Alguém conhece esse tutorial e tem alguma dica do que pode estar acontecendo? Aí vão algumas fotos (bem toscas…) da tela do aparelho mostrando o problema:
Aqui, a tela inicial do aplicativo com as duas opções:

Quando entro em “Alertas”, nenhum problema (a diferença que percebi para o outro comando, é que aqui não é definido nenhum Form, somente uma lista, como a do menu principal:

Aqui, o problema. Notem que o título do menu, que era “Escolha” na primeira foto, mudou para o nome do aplicativo. Daqui é possível selecionar “Alertas” novamente, sem problemas:

Alguma dica do que pode estar acontecendo? Valeu!
Olá Chokito,
estranho esse comportamento. Você chegou a testar este aplicativo em algum outro aparelho? Você testou algum outro aplicativo no seu aparelho?
Bom, tenta algumas coisas ai então:
- faça com que a classe ExemploFormItens extenda de Form, e adicione os componentes a ela, ao invés de um outro objeto form dentro dela. E ao setDisplayable() passe uma referencia da classe.
- ou ainda, siga os passos acima porém ao invés de fazer o setDisplayable() dentro da classe form, faça na sua classe MIDlet, dentro do commandAction(), como segue:
switch(this.list.getSelectedIndex())
{
// cada case representa a posição da opção dentro do List, começando com 0
case 0:
ExemploFormItens form = new ExemploFormItens(this);
this.setDisplayable(form);
break;
Tudo isso faz a mesma coisa. Na verdade não sei o que pode estar acontecendo com o aplicativo no seu celular.
Alguem mais testou isso e obteve algo similar, porém em outros aparelhos, ou até no mesmo?!
Agradeço quem puder colaborar e testar o aplicativo, pois se realmente houver um erro, ou algum bug, seria interessante que eu mandasse uma errata a revista. Ele foi testado em aparelhos porém não apresentou tal erro.
Abraços!
Fico no aguardo!
Bom, eu testei em emuladores de outros aparelhos da Nokia e tudo correu bem. Realmente é estranho. Outras aplicações funcionam numa boa no 6600. Fiz algumas adaptações e, caso o programa seja iniciado com um formulário ao invés de uma lista, tudo corre bem no aparelho, seguindo a forma apresentada no exemplo (usando a funçãoi setDisplayable do MIDlet e acrescentando um formulário à classe - não fazendo com que ela extenda Form).
Bah kra!
Muito estranho isso! =
Onde ele foi testado funcionou numa boa, mesmo com uma lista. Vamos ver se mais alguem se pronuncia quanto a isso!
Abraços!