ChoiceGroup

Amigos,

Tenho o código abaixo rodando perfeitamente, mas precinho de uma imensa ajuda…
Quero que quando seja selecionado o ChoiceGroup pelo usuário o valor seja diferente do da exibição. ou seja o usuário escolherá um nome mas o metodo deverá retorna outro valor, que seria o ID = emissor[0].

como faço?

public ChoiceGroup getEmissor() {
    if (Emissor == null) {                                 
        // write pre-init user code here
        Emissor = new ChoiceGroup("Emissor", Choice.POPUP);                                    
        Emissor.setPreferredSize(-1, -1);
        Emissor.setLayout(ImageItem.LAYOUT_DEFAULT);
        Emissor.setFitPolicy(Choice.TEXT_WRAP_DEFAULT);
        Emissor.setSelectedFlags(new boolean[] {  });                                  
        // write post-init user code here
        //Emissor.append("OndaLivre", null);
        Manipulacao_TransacaoService ws = new Manipulacao_TransacaoService_Stub();
        String str=null;
        try {
            str = ws.selecionarEmissor();
        } catch (RemoteException ex) {
            ex.printStackTrace();
        }
        System.out.println("str="+str);
        String pares[] = split(str,":");
        System.out.println("pares.length="+pares.length);
        for (int i = 0; i < pares.length; i++) {
            String string = pares[i];
            String emissor[] = split(string,",");
            Emissor.append(emissor[1], null);   // <-- aqui quero que o real valor de Emissor seja emissor[0], mas para exibição emissor[1]  
          }
    }                         
    return Emissor;
}

Cara coloque o código nas tags de para fica melhor a visualização do seu código!

Pelo que entendi você quer pegar o número ID que está selecionado no ChoiceGroup!
Se for isso use o método!

nomedochoice.getSelectedIndex(); ou algo assim!

vlw
abs

Cara o que quero é o seguindo.
minha busca no banco traz um coleção com duas colunas, id_emissor e nome_emissor.

Bom o usuário tem que ver o nome_emissor no sistema, para selecionalo. porém quando ele selecioná-lo, quero que o valor do append seja o id_emissor.
ou seja que um choicegroup que a apresentação seja nome, mas o valor seja o id.
existe algum parametro para isso?

segue o código no formato:

public ChoiceGroup getEmissor() { if (Emissor == null) { // write pre-init user code here Emissor = new ChoiceGroup("Emissor", Choice.POPUP); Emissor.setPreferredSize(-1, -1); Emissor.setLayout(ImageItem.LAYOUT_DEFAULT); Emissor.setFitPolicy(Choice.TEXT_WRAP_DEFAULT); Emissor.setSelectedFlags(new boolean[] { }); // write post-init user code here //Emissor.append("OndaLivre", null); Manipulacao_TransacaoService ws = new Manipulacao_TransacaoService_Stub(); String str=null; try { str = ws.selecionarEmissor(); } catch (RemoteException ex) { ex.printStackTrace(); } System.out.println("str="+str); String pares[] = split(str,":"); System.out.println("pares.length="+pares.length); for (int i = 0; i < pares.length; i++) { String string = pares[i]; String emissor[] = split(string,","); Emissor.append(emissor[1], null); } } return Emissor; }

Cara, eu faria o seguinte
Criaria uma classe que estende de ChoicceGroup, criaria um atributo de Vector chamado chaves, e um método adicionar(Object valor, Object chave).
No método adicionar vc adiciona a chave no seu atributo chaves, e dá um append no choice.

Entendeu?

+ou-… sou meio iniciante em JAVA.
podeexemplificar, assim fica mais fácil de entender.

Cara, te dei o código, é só engoli, mas ñ se acostuma :evil: :lol:

public class MeuChoice extends ChoiceGroup {

	private Vector chaves;
	
	//construtor de MeuChoice, que chama o construtor de Choice
	public MeuChoice(String label, int choiceType) {
		super(label, choiceType);
		chaves = new Vector();
	}
	
	//construtor de MeuChoice, que chama o construtor de Choice
	public MeuChoice(String label, int choiceType, String[] elements, Image[] imgElements) {
		super(label, choiceType, elements, imgElements);
		chaves = new Vector();
	}
	
	public void addElemento(String text, Image img, Object chave) {
		//faz a consistencia...
		append(text, img);
		chaves.addElement(chave);
	}
	
	public Object getChave(int posicao) {
		return chaves.elementAt(posicao);
	}
}

Senhores membros do conselho, tô engatinhando em J2ME,
tem como fazer um ChoiceGroup pesquisavel, ou seja, capturar o que for digitado e ir filtrando???
Agradeço a atenção dispensada.

[quote=j0nny]Cara, te dei o código, é só engoli, mas ñ se acostuma :evil: :lol:

[code]
public class MeuChoice extends ChoiceGroup {

private Vector chaves;

//construtor de MeuChoice, que chama o construtor de Choice
public MeuChoice(String label, int choiceType) {
	super(label, choiceType);
	chaves = new Vector();
}

//construtor de MeuChoice, que chama o construtor de Choice
public MeuChoice(String label, int choiceType, String[] elements, Image[] imgElements) {
	super(label, choiceType, elements, imgElements);
	chaves = new Vector();
}

public void addElemento(String text, Image img, Object chave) {
	//faz a consistencia...
	append(text, img);
	chaves.addElement(chave);
}

public Object getChave(int posicao) {
	return chaves.elementAt(posicao);
}

}
[/code][/quote]

Jonny,
boa noite, vc sabe me como posso implementar o ChoiceGroup pesquisavel???
tipo:

Ex:
Texto 1
Texto 2
String 1
String 2
Tá Doido!

Você digita “T” e as Strings somem, ficando só o que começa com “T”, você digita “e” e o “Tá Doido” some, ficando só o que começa com “Te”.
Esse filtro.