[quote=alexfe]pessoal este é o codigo: no caso seria, tem um botao Command para adicionar um novo candidato no choiceGroup , eu digitaria o nome do candidato em um TextField e acionaria o Command onde ele incluiria o novo candidato no vetor, mas estou sem noção de como fazer isto
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class Exercicio6 extends MIDlet implements ItemStateListener, CommandListener{
private Display display;
private Form frm,frmAdd;
private Command cmdTotal,cmdGravar,cmdSair,cmdAdd,cmdVoltar,cmdInserir;
private ChoiceGroup choice;
private TextField tfAdd;
StringItem stringItem;
String[] politicos = {"Juca","Mika","Orestes","Sepulveda","Nero"};//vetor com valores definidos
int[] votos = {0,0,0,0,0};//vetor dos votos de cara politico
public Exercicio6(){
display = Display.getDisplay(this);
frm = new Form("pesquisa politica");
frmAdd = new Form("Adicionar Candidato");
cmdTotal = new Command("Total", Command.SCREEN, 1);
cmdGravar = new Command("Gravar", Command.SCREEN, 2);
cmdSair = new Command("Sair", Command.EXIT, 1);
cmdAdd = new Command("Adicionar", Command.SCREEN, 1);
cmdInserir = new Command("Inserir Cand", Command.SCREEN, 1);
cmdVoltar = new Command("Voltar", Command.SCREEN, 1);
choice = new ChoiceGroup("Candidaos", ChoiceGroup.MULTIPLE, politicos, null);
tfAdd = new TextField("Candidato:", null, 10, TextField.ANY);
frm.append(choice);
frm.addCommand(cmdGravar);
frm.addCommand(cmdSair);
frm.addCommand(cmdTotal);
frm.addCommand(cmdAdd);
frm.setCommandListener(this);
frm.setItemStateListener(this);
frmAdd.append(tfAdd);
frmAdd.addCommand(cmdInserir);
frmAdd.addCommand(cmdVoltar);
frmAdd.setItemStateListener(this);
frmAdd.setCommandListener(this);
}
public void startApp() {
display.setCurrent(frm);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
notifyDestroyed();
}
public void itemStateChanged(Item item) {
}
public void commandAction(Command c, Displayable d) {
if(c == cmdGravar){
gravarVotos();
}
if(c == cmdTotal){
totalizar();
}
if(c == cmdSair){
destroyApp(true);
notifyDestroyed();
}
if(c == cmdAdd){
display.setCurrent(frmAdd);
}
if(c == cmdVoltar){
display.setCurrent(frm);
// addCand(null);
}
}
private void gravarVotos() {
boolean[] selecionados = new boolean[choice.size()];
choice.getSelectedFlags(selecionados);// retorna os item selecionados true
for (int i = 0; i < selecionados.length; i++){
if(selecionados[i] == true){
votos[i]++;
}
choice.setSelectedIndex(i,false);
}
}
private void totalizar() {
String result = new String();
for(int i = 0; i < politicos.length;i++){
result += politicos[i]+":" + votos[i]+ "\n";
}
stringItem = new StringItem("Resultado", result);
frm.set(0, stringItem);
frm.addCommand(cmdSair);
frm.removeCommand(cmdGravar);
frm.removeCommand(cmdTotal);
}
public void addCand(String cand){
}
}