[color=red][size=15]Ola amigos,
Matriz pra mim sempre foi um bicho de sete cabeças…
Estou com problemas em colocar informações de uma matriz(20x4) dentro de uma textbox.
O que eu preciso é que quando o usuario clique em novo aparece campos
textobox para ele preecher e depois grave os dados do contato em uma matriz (Consegui gravar
pelo menos o nome). E depois quando o usuario clicar em abrir deve mostrar todos os dados
do contato gravado em uma textbox.[/size]
Eis meu código:[/color]
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class ContatoExercicioMidlet extends MIDlet implements CommandListener{
private Display display;
private List listaContatos;
private Form frmContatos;
private TextField nome,telefone,email,celular;
private TextBox txtBox;
private Command novoContato,gravarContato,voltar,abrir;
private String dados[][] = new String[20][4];
private int i=0;
public ContatoExercicioMidlet(){
//Display
display = Display.getDisplay(this);
//Telas
listaContatos = new List("Contatos", Choice.IMPLICIT);
frmContatos = new Form("Novo Contato");
//comandos
novoContato = new Command("Novo", Command.SCREEN, 0);
gravarContato = new Command("Gravar", Command.SCREEN, 0);
abrir = new Command("Abrir", Command.SCREEN, 0);
voltar = new Command("Voltar", Command.SCREEN, 1);
//campo texto
nome = new TextField("Nome", null, 80, TextField.ANY);
telefone = new TextField("Telefone", null, 80, TextField.ANY);
email = new TextField("Email", null, 80, TextField.EMAILADDR);
celular = new TextField("Celular", null, 80, TextField.NUMERIC);
//TextBox
txtBox = new TextBox("TextBox",dados[i][0]=nome.getString(), 150, 0);
//Adiciona comandos nas respectivas telas
listaContatos.addCommand(novoContato);
listaContatos.addCommand(abrir);
frmContatos.append(nome);
frmContatos.append(telefone);
frmContatos.append(email);
frmContatos.append(celular);
frmContatos.addCommand(voltar);
frmContatos.addCommand(gravarContato);
txtBox.addCommand(voltar);
//Seta as telas
listaContatos.setCommandListener(this);
frmContatos.setCommandListener(this);
txtBox.setCommandListener(this);
}
public void startApp() {
display.setCurrent(listaContatos);
}
public void pauseApp() { }
public void destroyApp(boolean unconditional) { }
public void commandAction(Command c, Displayable d){
//Se clicar em novo vá para tela 2
if (c == novoContato) {
display.setCurrent(frmContatos);
}
if (c==gravarContato){
if (i<=19){
dados[i][0]=nome.getString();
dados[i][1]=telefone.getString();
i++;
}
nome.setString("");
carregaLista();
display.setCurrent(listaContatos);
}
if (c == abrir) {
display.setCurrent(txtBox);
}
//Se clicar em voltar carregue a lista e vá para listaContato
if (c == voltar) {
carregaLista();
display.setCurrent(listaContatos);
}
}
public void carregaLista(){
listaContatos.deleteAll();
for(int j=0;j<=19;j++){
if (dados[j][0] != null)
listaContatos.append(dados[j][0], null);
}
}
}