Menus de contexto sensíveis - Java ME

votos
2

Eu estou tentando construir uma lista de comandos com base sensível ao contexto. I definir a opção command.ITEM para todos os meus botões de comando. Mas eu não poderia encontrar uma maneira como fornecer as seguintes funcionalidades:

Eu tenho uma lista de valores dizer A, B, C para A, o meu menu comando deve conter 2,4 Quando eu mover a seleção (cursor) para B, o meu menu comandos deve ter 1,3 Quando eu passar para C, comandos devem ter 2,1 novamente quando eu voltar para a, ele deve ter menu de comando de a (2,4)

Ele pode ser usado para uma lista de arquivos e diretórios:

Quando um arquivo é selecionado, eu quero mostrar opções (comandos) abrir, editar e excluir. Quando eu selecionar um diretório, eu quero mostrar comandos apenas abrir e apagar.

Agradecemos antecipadamente por qualquer ajuda apontando para a direção certa.

Publicado 27/04/2009 em 22:05
fonte usuário
Em outras línguas...                            


1 respostas

votos
1

A especificação para a javax.microedition.lcdui.Formclasse (que eu suponho que é o que você está usando) afirma:

"Estas operações atravessam e rolagem não causam eventos de aplicativo visível"

Também não há método chamado antes que o menu de comando é exibido.

Tudo isso significa que você não pode fazer o que quiser aqui, usando um formulário.

Dependendo da implementação J2ME no telefone específico que você está targetting, javax.microedition.lcdui.CustomItem.getInteractionModes()pode dizer se você pode usar um único CustomItem em seu formulário para criar um menu sensível ao contexto.

A única maneira de fazer isso em todos os telefones é usar um javax.microedition.lcdui.Canvase re-implementar os controles que você precisa desenhando-los sozinho. Você pode, então, manter o controle de qual deles é "selecionado" e preencher o seu próprio menu de comando antes de exibi-lo em resposta ao baixo nível keyPressed()eventos.

Você pode querer olhar para a LWUITbiblioteca de código aberto para uma solução intermediária.

Respondeu 28/04/2009 em 12:06
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more