pb refresh lors du passage de page en page [J2ME] - Java - Programmation
Marsh Posté le 06-04-2006 à 17:58:23
Salut,
Je ne comprends pas bien ton problème.
Pourquoi ne recharges-tu pas la page?
Il suffirait que tu supprime ta page "profil" en la quittant et que tu instancies une autre page "profile" la fois d'après, avec le bon paramètre pour afficher les bonnes infos.
Marsh Posté le 07-04-2006 à 09:52:16
effectivement, ça pourrait etre un debut de solution.
mais comment supprimer la page ? il existe une methode implementée pour detruire une page 'form' ?
Marsh Posté le 07-04-2006 à 10:55:33
j'ai essayé de faire un deleteAll() de tous les elements de la page, mais à la 2e requete sur cette page, rien 'nest reconstitué, et je me retrouve avec une page blanche.
Marsh Posté le 07-04-2006 à 11:23:27
je viens de penser à une chose,
avant de créer une page, on verifie ceci:
Code :
|
j'ai donc pour idée de réinitialiser à null l'objet pageProfil quand je vais cliquer sur le bouton "ok" qui est dans cette page et je vais retourner à la liste de contact
Chronologiquement ça donne
- je suis ds la liste de contact
- je clique sur "A" voir profil
- la page profil est créée avec les données de "A"
- je visualise, je clique sur ok, l'objet pageProfil est remis à null et je retourne a la page contact
Mais ça ne fontionne pas, surement parceque je suis considéré encore ds la page profil quand l'action de remetre à null est executé.
Je ne sais pas comment m'y prendre...
Une idée?
Marsh Posté le 07-04-2006 à 15:46:47
bien me revoilà apres moultes essais non concluant
en fait à la seconde utilisation de la page, l'execution cause l'erruer suivante et impossible de continuer vers le page profil
Code:
Code :
|
Marsh Posté le 07-04-2006 à 16:04:30
white-rabbit a écrit : Chronologiquement ça donne |
C'est peut etre idiot ce que je vais dire mais pourquoi tu fais pas une methode qui affiche un nouvel ecran avec les données du contact et une commande pour revenir a l'ecran precedent
public void showContact(String userNickname) {
Form fmContact = new Form("Profil de "+userNickname);
// tu crées une commande cmOK initialisee avant:
cmOK = new Command(...);
fnContact.addCommand(cmOK);
// tu affiches les donnees de ton contact
fmContact.append("Nom : " +userNickname);
.
.
.
.
fmContact.setCommandListener(this);
display.setCurrent(fmContact);
}
Dans le commandAction():
if (c == cmOK)
display.setCurrent( "ton ecran avec la list des contacts" ) ;
Marsh Posté le 07-04-2006 à 16:10:10
bah typiquement c'est exactement ce que je fais actuellement.
ça marche tres bien.... mais qu'une seule fois !
argh
Marsh Posté le 07-04-2006 à 21:51:06
white-rabbit a écrit : bah typiquement c'est exactement ce que je fais actuellement. |
Ah desolé
Tu passes le form a null au moment ou l'utilisateur clique sur la commande pour afficher la liste?
Dans le commandAction:
if (c == ta_commande_pour_afficher_la_liste ) {
userName = ...
if (fmContact != null)
fmContact = null;
showContact(userName);
}
Marsh Posté le 10-04-2006 à 10:23:24
voilà mon command action pour quand je quitte la page profil:
if (displayable == ficheContact) { // ecran fiche du contact
if (command == backFromFiche) {
javax.microedition.lcdui.Display.getDisplay(this).setCurrent(get_contactListForm()); // retour à la page contact
ficheContact = null; // reinit de la page fiche
}
}
Marsh Posté le 06-04-2006 à 17:13:50
Salut à tous
je developpe sous eclipse 3.1 + me une petite interface de messenger.
pour l'instant j'ai la contact liste et differentes pages accessible en cliquant sur les options disponibles sur chaque contact.
le pb vient du fait que chaque page n'est créée qu'une seule fois.
j'explique chronologiquement:
- on se trouve sur la page "liste de contact"
- on choisi le contact "A" et on faire "voir profil"
- une page profil s'ouvre et affiche les coordonnées de "A"
- ensuite on presse ok, et on est de nouveau sur la page "liste de contact"
- maintenant si on clique sur "B" et on fait "voir profil"
- la page profil s'ouvre a nouveau, mais avec le profil de "A" car la page n'est pas regénérée
je ne sais pas comment palier à ce pb qui est repeté avec tous les types de page de mon programme.
Si quelqu'un a une idée, je suis prenneur
Merci