Hallo!
Habe ein kleines Problem und komme nicht weiter... und zwar versuche ich mein Programm über die Tasten zu schließen.
Der Trick dabei ist, dass ich es nicht aus der Midlet-Klasse machen möchte, ich habe eine Klasse mit 3 Listen geschrieben und dort möchte ich mit der rechten Funktionstaste(weiß nicht wie die tasten unter dem Display genau heißen) eine Liste zurück gehen und mit der linken Funktionstaste das Programm schließen.
Funktioniert auch alles soweit ganz gut, ich habe an die Klasse Listen Display und die Midlet-Klasse übergeben, die Listen werden dargestellt und ich kann aus einer Liste in die andere und mit der rechten Funktionstaste auch wieder zurück, nur will sich mein Programm nicht schließen, wenn ich auf die linke Funktionstaste drücke.
Hier ein Paar kleine Programmschnippsel:
Habe ein kleines Problem und komme nicht weiter... und zwar versuche ich mein Programm über die Tasten zu schließen.
Der Trick dabei ist, dass ich es nicht aus der Midlet-Klasse machen möchte, ich habe eine Klasse mit 3 Listen geschrieben und dort möchte ich mit der rechten Funktionstaste(weiß nicht wie die tasten unter dem Display genau heißen) eine Liste zurück gehen und mit der linken Funktionstaste das Programm schließen.
Funktioniert auch alles soweit ganz gut, ich habe an die Klasse Listen Display und die Midlet-Klasse übergeben, die Listen werden dargestellt und ich kann aus einer Liste in die andere und mit der rechten Funktionstaste auch wieder zurück, nur will sich mein Programm nicht schließen, wenn ich auf die linke Funktionstaste drücke.
Hier ein Paar kleine Programmschnippsel:
Code:
public class Listen implements CommandListener {
StartUp midlet;;
Display display;
Darstellung darstellung;
.
.
.
public Listen(Display display, Darstellung darstellung, StartUp startklasse) {
midlet = startklasse;
this.display = display;
this.darstellung = darstellung;
Image[] imageArray = null;
String[] stringArrayWahl = {"Favoriten", "Alle"};
wahlList = new List("Wähle Listenart", Choice.IMPLICIT, stringArrayWahl, imageArray);
wahlList.setCommandListener(this);
wahlList.addCommand(CMD_BACK);
wahlList.addCommand(CMD_EXIT);
.
.
.
if (d.equals(wahlList) && c == CMD_BACK) {
System.out.println("back");
display.setCurrent(mainList);
}
if (d.equals(wahlList) && c == CMD_EXIT) {
try {
System.out.println("exit");
midlet.destroyApp(true);
} catch (MIDletStateChangeException ex) {ex.printStackTrace();}
}
Code:
public class StartUp extends MIDlet{
Darstellung darstellung = new Darstellung();
Berechnen berechnen = new Berechnen(darstellung);
/**
*
*/
public StartUp()
{
}
//********************START*********************
protected void startApp() throws MIDletStateChangeException
{
Display display = Display.getDisplay(this);
//display.setCurrent(darstellung);
try {
XML_Parser.parse();
} catch (XmlPullParserException ex) {
ex.printStackTrace();
} catch (IOException ex) {
ex.printStackTrace();
}
new Listen(display, darstellung, this);
}
protected void destroyApp( boolean unconditional ) throws MIDletStateChangeException{}
protected void pauseApp(){}
}