|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2007
Città: DiSaronno Originale
Messaggi: 2376
|
[J2ME] NullPointerException
Ciao, ho iniziato a smanettare col J2ME, per un esame.
Ho un problema con la comprensione dei Command, che dovrebbero essere facili, e infatti non riesco a trovare l'errore. Ad esempio questo stupidissimo codice: Codice:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class Interests extends MIDlet implements CommandListener{
private Form formMain, formResults;
private Command cmdExit, cmdBack, cmdGO;
private ChoiceGroup categoria, categoria2;
public Interests(){
init();
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
notifyDestroyed();
}
protected void pauseApp() {
}
protected void startApp() throws MIDletStateChangeException {
Display.getDisplay(this).setCurrent(formMain);
}
private void getResults(){
categoria2 = new ChoiceGroup("Scegli la/le categoria/e di tuo interesse", Choice.MULTIPLE, new String[]{"Ristorante", "Hotel", "Museo", "Cinema", "Teatro"}, null);
formResults.append(categoria2);
formResults.addCommand(cmdBack);
Display.getDisplay(this).setCurrent(formResults);
}
private void init(){
categoria = new ChoiceGroup("Scegli la/le categoria/e di tuo interesse", Choice.MULTIPLE, new String[]{"Ristorante", "Hotel", "Museo", "Cinema", "Teatro"}, null);
cmdExit = new Command("Exit", Command.EXIT, 1);
cmdBack = new Command("Back", Command.BACK, 2);
cmdGO = new Command ("Vai!", Command.OK, 3);
formMain.append(categoria);
formMain.addCommand(cmdExit);
formMain.setCommandListener(this);
formResults.setCommandListener(this);
}
public void commandAction(Command c, Displayable s){
if (c == cmdExit)
notifyDestroyed();
if (c == cmdGO)
getResults();
if (c == cmdBack)
Display.getDisplay(this).setCurrent(formMain);
if (s == formResults && c == cmdBack)
notifyDestroyed();
}
}
Mi sembra che la sollevi quando lancio il metodo setCommandListener. C'è da mettere un try catch? Sì ma dove? La cosa strana è che in altri esempi che ho io un po' più complessi questa eccezione non viene sollevata. Scusate per la noobbaggine
__________________
Dell XPS 9570 Powered by Arch Linux || Motorola One Vision Ho concluso con raffaelev, Iceworld, stebru, Dichy, AXIP, Quakeman e Swampo |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
|
se posti per intero il messaggio di errore forse si può capire di più
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes] "Pirating software? Choose Microsoft!" |
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: May 2007
Città: DiSaronno Originale
Messaggi: 2376
|
Quote:
Codice:
Unable to create MIDlet Interests java.lang.NullPointerException at Interests.init(+98) at Interests.<init>(+8) at java.lang.Class.runCustomCode(+0) at com.sun.midp.midlet.MIDletState.createMIDlet(+34) at com.sun.midp.midlet.Selector.run(+22)
__________________
Dell XPS 9570 Powered by Arch Linux || Motorola One Vision Ho concluso con raffaelev, Iceworld, stebru, Dichy, AXIP, Quakeman e Swampo |
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
|
aspetta a ringraziarmi...ci sto sbattendo la testa anch'io ma non so perchè non và...si direbbe che neanche parte la midlet, ma non capisco il motivo.
ci sto mettendo parecchio perchè non conosco la ME (l'ho dovuta scaricare e installare per provare) e mi sto leggendo un pò di documentazione. Intanto puoi sperare che passi qualcuno più preparato di me
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes] "Pirating software? Choose Microsoft!" |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
|
Ok qualcosa l'ho trovata....dunque:
1) non inizializzi formMain da nessuna parte. Devi fare: Codice:
formMain = new Form("titolo che vuoi");
2) stessa cosa per formResults 3) init() non viene richiamato da nessuno, costruttore a parte, ma il costruttore a sua volta non viene richiamato.
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes] "Pirating software? Choose Microsoft!" |
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: May 2007
Città: DiSaronno Originale
Messaggi: 2376
|
Quote:
Grazie mille, adesso va!!! Mi hai salvato la vita! Alla fine l'errore è banale, ma è da un po' che non programmo in java e mi sto troppo abituando al php A buon rendere!
__________________
Dell XPS 9570 Powered by Arch Linux || Motorola One Vision Ho concluso con raffaelev, Iceworld, stebru, Dichy, AXIP, Quakeman e Swampo |
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
|
oh sì!!!!!
una birra è ben voluta!!! anche la stretta di mano però
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes] "Pirating software? Choose Microsoft!" |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:33.




















