Nie wiem czy tym zajmuje sie forum, ale podczas pisania midletu w Javie mam pewien problem.
KOD:
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
public class Midlet extends MIDlet implements CommandListener {
private Display display;
private Form form;
private TextField imie;
private Command exit, choose;
private ChoiceGroup javaTech, potrawy;
private int index, liczba;
private int i;
public Midlet() {
form = new Form("Pole imienia");
imie = new TextField("Podaj imie :", null, 100, TextField.ANY);
form.append(imie);
exit = new Command("Zakończ", Command.EXIT, 1);
choose = new Command("Akceptuj", Command.SCREEN, 2);
form.addCommand(exit);
form.addCommand(choose);
form.setCommandListener(this);
potrawy = new ChoiceGroup("Wybierz potrawy, ktore lubisz ", Choice.MULTIPLE);
potrawy.append("Krupnik", null);
potrawy.append("Vodka", null);
potrawy.append("Bigos", null);
potrawy.append("Schabowy", null);
javaTech = new ChoiceGroup("Wybierz swoje plec: ", Choice.EXCLUSIVE);
javaTech.append("Kobieta", null);
javaTech.append("Mezczyzna", null);
index = form.append(javaTech);
liczba = form.append(potrawy);
}
public void startApp() {
// ustawiamy ekran poczatkowy
display = Display.getDisplay(this);
display.setCurrent(form);
}
public void pauseApp(){}
public void destroyApp(boolean unconditional){
notifyDestroyed();
}
public void commandAction(Command c, Displayable displayable){
if (c == exit) {
destroyApp(true);
notifyDestroyed();
}
if (c == choose) {
String label = c.getLabel();
if (label.equals("Akceptuj")) {
StringItem mesg[] = new StringItem[javaTech.size()];
boolean tabWyboru[] = new boolean[javaTech.size()];
javaTech.getSelectedFlags(tabWyboru);
for (int i = 0; i < tabWyboru.length; i++) {
if (tabWyboru[i]) {
mesg[i] = new StringItem("", null);
form.append(mesg[i]); } } form.delete(index); form.removeCommand(choose); }
else if (label.equals("Zakończ")) destroyApp(false);
if (label.equals("Akceptuj")) {
StringItem mesg[] = new StringItem[potrawy.size()];
boolean tabWyboru[] = new boolean[potrawy.size()];
potrawy.getSelectedFlags(tabWyboru);
for (int i = 0; i < tabWyboru.length; i++) {
if (tabWyboru[i]) {
mesg[i] = new StringItem("Twoje ulubione potrawy to: ", potrawy.getString(i)); }
else if (label.equals("Zakończ")) destroyApp(false);
}
}
}
int i = javaTech.getSelectedIndex();
String ss = javaTech.getString(i);
Alert al = new Alert("Informacja",
"\nTwoje imie to: " + imie.getString() +
"\nTwoja plec to : " + javaTech.getString(i) +
"\nTwoje ulubione danie to : " + potrawy.getString(i) + "",
null, AlertType.INFO);
al.setTimeout(Alert.FOREVER);
display.setCurrent(al, form);
}
}
Nie moge wyswietlic wyboru uzytkownika, ktora potrawe wybral. czyta i czyli z poprzedniego pola wyboru jesli wybiore kobiete to wpisuje 1 i tym samym krupnik a jak 2 to mezczyzne i vodke.