[RESOLVIDO - J2ME] Pegar id lista implicita HttpConnection

Pessoal, criei uma aplicação em j2me para ser uma pequena interface do meu site
(website em php e uma de suas funções é enviar, ler, responder e excluir recados).

Logo após o usuário efetuar o login, é mostrada a lista dos recados que ele possui,
(Que estão em um banco mysql e o j2me leu do arquivo em php usando HttpConnection)

Com esta estrutura eu mostro para o usuário a lista, informando o nome de quem mandou o recado,
é claro que estou simplificando bem aqui colocando só a parte necessária.

Leiam os comentários no codigo que é pra ajudar a entender.

[code]
private Vector vetor_dados;  
private Display display;  
private List lista_recados;  
private Command ler_recado;   
private acessoweb obj_acessoweb;  
  
  
display = Display.getDisplay(this);  
obj_acessoweb = new acessoweb(this);  
lista_recados = new List("Recados", List.IMPLICIT);  
ler_recado = new Command("Abrir",Command.ITEM,1);  
lista_recados.addCommand(ler_recado);       
lista_recados.setCommandListener(this);   
this.vetor_dados = vetor_dados;  
  
int tamanho = vetor_dados.size();   
  
for(int i=0; i<tamanho; i++)  
{  
String [] dados = (String[]) vetor_dados.elementAt(i);  
/////dados[0] é o id do recado, eu posso colocar ele no append que vai mostrar normalmente.  
/////dados[1] é o nome da pessoa que mandou o recado, já estou mostrando ele abaixo.  
lista_recados.append(dados[1],null); /////aqui eu mostro o nome da pessoa que mandou o recado.  
}  
  
display.setCurrent(lista_recados);[/code] 

Bom, até ai tudo certinho, sóóó que, quando o usuário selecionar um recado, eu precisava passar
o id do recado (dados[0]) como parametro pra assim poder buscar o recado e então o usuário poder ler e até (responder <- um dia chego lá).

Eu conseguiria com sucesso, passar o id do recado usando lista_recados.getString() no comando, mais pra isso eu precisaria
mostrar o id (dados[0]) no append, só que não fica legal mostrar pro usuário o id do lado do nome da pessoa.

public void commandAction(Command c, Displayable d) { if(c == ler_recado) { obj_acessoweb.funcaodelerrecado(/*eu quero passar o id do recado por aqui*/); } }

E então pessoal, alguem pode me dizer como passar o id como parametro no comando sem mostrar ele no append?

Na sua função acho que vc pode usar o isSelected na sua lista “lista_recados”

Não consegui encontrar uma forma de utilizar o isSelected para resolver o meu problema. Mais consegui resolver de outra forma, não sei se é gambiarra, mais resolveu. Se alguem tiver interessado, eh soh falar…

Posta ai, e de quebra ja manda um “resolvido” no seu tópico!

Bom, como é uma lista, eu não poderia armazenar o id do recado em uma string pq o id iria ser substituido pelo resultado seguinte. (de acordo com os meus conhecimentos)

Então eu criei uma nova lista (lista_recados2), continuo explicando no códido comentado abaixo.

[code]private List lista_recados, lista_recados2;

lista_recados = new List(“Recados”, List.IMPLICIT);
lista_recados2 = new List(“Recados”, List.IMPLICIT); /////esse list só vai servir pra armazenar o id dos recados

/////e dentro do for() eu armazeno no append lista_recados2 o id de cada recado
/////mais eu não vou mostrar ele na tela pq não vou executar o display.setCurrent(lista_recados2);

lista_recados.append(dados[0],null); /////aqui o nome da pessoa, que já estava mostrando
lista_recados2.append(dados[1], null); /////e aqui só armazenei o id do recado

/////aqui fora do for() eu mostro na tela apenas o lista_recados
display.setCurrent(lista_recados);

///e por fim, o comando e executado assim

public void commandAction(Command c, Displayable d)
{
if(c == ler_recado)
{
obj_acessoweb.funcaodelerrecado(lista_recados2.getString(lista_recados.getSelectedIndex())); ///dessa forma eu pego o id armazenado no append lista_recados2
}
} [/code]