Java ME... dificuldades no ChoiceGroup!

2 respostas
Kleber_Rafael

gostaria de pegar o item selecionado do ChoiceGroup, e fazer os calculos de conversao dentro do command Calcular…
ficaria muito grato se alguem pudesse me ajudar?!!

package javame.formulario;

import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;

public class AtividadePratica extends MIDlet implements CommandListener,
                                                         ItemStateListener{

    private Display tela;
    private Form frm;
    private ChoiceGroup grupo;
    private TextField valor;
    //private String resultado;
    private StringItem selecionado;
    private Command cmdSair;
    private final String titulo = "Escolha a conversão desejada";
    private final String[] elementos = {"Real para Dólar","Real para Euro",
        "Dólar para Real", "Dólar para Euro","Euro para Real", "Euro para Dólar"};




public AtividadePratica(){
    tela = Display.getDisplay(this);
    frm = new Form("Conversor de Moedas");
    cmdSair = new Command("Sair", Command.EXIT,0);

    valor = new TextField("Valor :","",5, TextField.DECIMAL);
    valor.setLayout(Item.LAYOUT_LEFT | Item.LAYOUT_LEFT);

    grupo = new ChoiceGroup(titulo, ChoiceGroup.EXCLUSIVE, elementos,null);
    selecionado = new StringItem("Item Selecionado", "");

    frm.append(valor);
    //frm.append(resultado);
    frm.append(grupo);
    frm.append(selecionado);
    frm.addCommand(cmdSair);
    frm.setCommandListener(this);
    frm.setItemStateListener(this);


}


    public void startApp() {
        tela.setCurrent(frm);

    }

    public void pauseApp() {
    }

    public void destroyApp(boolean unconditional) {
    }

    public void commandAction(Command c, Displayable d) {

        if (c == cmdSair){
            destroyApp(false);
            notifyDestroyed();
        }
    }

    public void itemStateChanged(Item item) {

        //double recebeValor;

        if (item == grupo){

            String itens = "";
            for (int  i = 0; i < grupo.size(); i++){
                if (grupo.isSelected(i)){
                    itens += grupo.getString(i) + ";";
                }
            }
            if (itens.equals("")){
                selecionado.setText("nenhum");
            }else {
                selecionado.setText(itens);
            }
        }

    }
}

2 Respostas

Kleber_Rafael

ninguem? :frowning:

pedruhenrik

Olá Kleber Rafael,

num sei se entendi direito mas vc esta com dificuldades em obter o valor selecionado no choicegroup?

acho q seria algo assim:

this.prioridade = new ChoiceGroup("Prioridade",Choice.POPUP, prioridadeElem, null);
this.prioridade.setSelectedIndex(todo.getPrioridade(), true);
this.append(prioridade);

o meu todo.getPrioridade vai buscar no rms a informação selecionada,

boa sorte ai! ^^

Criado 29 de agosto de 2010
Ultima resposta 31 de ago. de 2010
Respostas 2
Participantes 2