List e Rms

Preciso de ajuda.Quero amarrar o itens de uma lista aos ids do record store para amarrar os niveis de dificuldade…Aqui vai o codigo.

No meu midlet possui a lista que eu quero.

[code]
Public VelhaCanvas jogo;

public Displayable initNivel() {
if (mainNivel == null) {
mainNivel=new List(“Nível”,List.EXCLUSIVE
);
mainNivel.append(“Facil”, null);
mainNivel.append(“Medio”, null);
mainNivel.append(“Dificil”, null);
Select = new Command(“Selecionar”, Command.OK, 1);

mainNivel.setSelectCommand(comSelect);   
mainNivel.addCommand(volta);   
 mainNivel.addCommand(seta);   
mainNivel.setCommandListener(this);   
}   
return mainNivel;   

}
public void commandAction(Command cmd, Displayable display)
{

    if(display==mainNivel){   

        if(cmd.getCommandType()==Command.BACK)   
        {   
       display(this.initMainForm());   

        }   
        if(cmd==seta){   

        switch(mainNivel.getSelectedIndex()){   
            case 0:   
                mostrarMsgNivel();   
                jogo.indicador=11;   

                jogo.SaveNivel();   

            case 1:   
                mostrarMsgNivel();   
                jogo.indicador=12;   

                jogo.SaveNivel();   

            case 2:   
                mostrarMsgNivel();   
                jogo.indicador=13;   

            }   
        }   
    }  [/code]

Na mina classe canvas,entre muitas outras coisas tem.

[code]
Public int indicador;
public int marcador;

private void open() {
try {

    n = RecordStore.openRecordStore("Nivel", true);   
}   
catch (RecordStoreNotFoundException e) {   
    System.out.println("-- RecordStore inexistente");   
}   
catch (RecordStoreException e) {   
    System.out.println("-- Outro erro");   
}   

}
private void close() {
try {
n.closeRecordStore();
}
catch( RecordStoreNotOpenException e ){
System.out.println("-- O Record Store esta fechado");
}
catch( RecordStoreException e ){
System.out.println("-- Outro erro");
}
}
public void SaveNivel(){
open();

try {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(baos);
dos.writeInt(indicador);

    byte[] data=baos.toByteArray();   
    dos.flush();   

    if(n.getNumRecords()!=0){   
    //atualiza o id com o valor do indice da variavel o sobrescrevendo   
   n.setRecord(1, data, 0, data.length);   

    }   
    else {   
        //adiciona caso não tenha nada salvo   
   n.addRecord(data, 0, data.length);   

       }   
    baos.close();   
    dos.close();   
    loaddata();   

marca=n.getRecord(1, data,0);
}
catch (IOException e) {
System.out.println("-- Erro de IO");
}
catch (RecordStoreFullException e) {
System.out.println("-- Não existe espaço disponível");
}
catch( RecordStoreNotOpenException e ){
System.out.println("-- O Record Store esta fechado");
}
catch( RecordStoreException e ){
System.out.println("-- Outro erro");
}
//loaddata();

close();
}
public void load_nivel(byte[]data){

ByteArrayInputStream bais = new ByteArrayInputStream(data);
// creates a data input stream to read from
DataInputStream dis = new DataInputStream(bais);

try{
indicador=dis.readInt();

dis.close();
}

catch(IOException ex){

}

}

public void loaddata() {
try {
open();
// check if record store not empty
if (n.getNumRecords() != 0) {
load_nivel(n.getRecord(1));
}

  close();   
} catch (RecordStoreException ex) {   
}   

} [/code]

Pois bem, a lógica que pensei é: O usuário clica na lista do nivel,a variável indicador recebe um valor e depois escrita no recordStore lembrando que esta variável é da classe VelhaCanvas e a lista é carregada e foi feita no midlet e depois a variável marcador recebe o Id do que foi salvo.O método SaveNivel adiciona se n tiver nada salvo e se tiver atualiza o mesmo id atraves do metodo setRecord().Fiz isso para finalmente chegar na minha duvida.

[code]public void valorizaCaixa( int col, int lin)
{

  linhaSelec = colunaSelec = 0;   

    for( int i=0; i<3; i++ ){   
        for( int j=0; j<3; j++ ){   
            if( ( linhaSelec == lin ) && ( colunaSelec ==col ) ){   
                if ( caixa[i][j] == 0 ){   
                    caixa[i][j] = 1;   
                    verificaGanhador();   
                    repaint();   

                   if((vencedor!='x')&&(jogada<=5)&&(marcador==11)){   

                       nivelFacil();   
                       repaint();   

                   }   
                      if((vencedor!='x')&&(jogada<=5)&&(marcador==12)){   

                       medio();   
                       repaint();   

                   }   
             if((vencedor!='x')&&(jogada<=5)&&(marcador==13)){   

                       Dificil();   
                       repaint();   

                   }   
                    break;   
                }   
            }   
            else{   
                colunaSelec = colunaSelec + 83;   
            }   
        }   

        linhaSelec  = linhaSelec + 100;   
        colunaSelec = 0;   
    }   


 }  [/code]

Bem percebem que estou comparando o valor salvo dentro da variável marcador que contem o dado salvo no id 1 do rs.Porém esta comparação não esta dando certo.Parece ate que n tá salvando nada e o engraçado é que quando comparo com 0 (zero) dá certo.lol

O direito seria:usuario clica,variavel indicador recebe valor,salva,marcador recebe o dado no id 1 do rs e se for igual a 11 nivel facil,igual a 12 nivel medio, igual a 13 nivel dificil.Mas n chega nem perto de fazer essa logica.Alguem tem alguma ideia do que pode ta dando errado? Se eu n disse antes trata de um jogo da velha.Obrigado!