IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Problème de PageAdapter avec setText


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2012
    Messages : 35
    Par défaut Problème de PageAdapter avec setText
    Salut a tous ! Voila mon probleme : j'ai un pageadapter avec 3 page, celle de gauche me permet de me localiser et de remplir des champ avec les différent élément de l'adresse localisée a l'aide de cette méthode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    private boolean getAddressLocation(Location location) {
     
      if (location != null) {
       lat = location.getLatitude();
       longi = location.getLongitude();
       Geocoder gc = new Geocoder(NoteReminder.this, Locale.getDefault());
       try {
        List<Address> addresses = gc.getFromLocation(lat, longi, 1);
        if (addresses.size() > 0) {
             Address address = (Address) addresses.get(0);
             streetNumber = address.getAddressLine(0);
             locality = address.getLocality();
             postcode = address.getPostalCode();
             country = address.getCountryName();
     
             etCountry.setText(country, TextView.BufferType.EDITABLE);
             etPostcode.setText(postcode, TextView.BufferType.EDITABLE);
             etLocality.setText(locality, TextView.BufferType.EDITABLE);
             etAddressText.setText(streetNumber, TextView.BufferType.EDITABLE);
     
     
     
             return true;
        }
       } catch (Exception e) {
        e.printStackTrace();
       }
      }
      return false;
    }
    Le probleme c'est que j'aimerai permettre à l'utilisateur d'editer ces champs si par exemple la localisation n a pas été assez précise et lorsque j'edit ces champ puis que je reviens a mon activité central (celle de localisation était a gauche puis celle ci puis celle de droite que est la derniere) J'ai un bouton me permettant de sauver toutes les info rentrées dans l'activité dans ma base de données SQLite... Tout marche correctement sauf que lorsque je modifie les champ que j'avai prérempli avec mes setText et que je récupère leur valeur avant de les rentré dans ma base de données et bien les valeurs inscrite dans ma BDD sont toujours celle qui préremplissaient mes champs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    ...
    etCountry = (EditText) findViewById(R.id.etCountry);
        etPostcode = (EditText) findViewById(R.id.etPostcode);
        etLocality  = (EditText) findViewById(R.id.etLocality);
        etAddressText = (EditText) findViewById(R.id.etAddressText);
     
     
             display = etAddressText.getText() + "," + etLocality.getText() + "," + etPostcode.getText()
               + "," + etCountry.getText();
    ...
    Je ne comprend pas ? Est ce que cela signifie qu'une fois edittext pré rempli avec .setText("...") on ne peu plus le modifier ?

  2. #2
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    Déjà... évites les printStackTrace()... on ne sait jamais ou ca va s'afficher...

    Utilises plutôt: Log.e("MonAppli","Erreur xxxx",e);
    Ca permettra d'avoir l'erreur dans le log du téléphone même hors débugger.

    Sinon, oui un EditText.getText() contient bien les valeurs actuelles (et pas celles que tu as pré-initialisé avec setText()).
    Mais comme tu ne montres pas le code d'écriture dans la BDD.... dure de savoir ce qu'il se passe...
    Si tu fais un Log.i("MonAppli","Addresse : "+display); ca affiche quoi dans le log ?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2012
    Messages : 35
    Par défaut
    Citation Envoyé par nicroman Voir le message
    Déjà... évites les printStackTrace()... on ne sait jamais ou ca va s'afficher...

    Utilises plutôt: Log.e("MonAppli","Erreur xxxx",e);
    Ca permettra d'avoir l'erreur dans le log du téléphone même hors débugger.

    Sinon, oui un EditText.getText() contient bien les valeurs actuelles (et pas celles que tu as pré-initialisé avec setText()).
    Mais comme tu ne montres pas le code d'écriture dans la BDD.... dure de savoir ce qu'il se passe...
    Si tu fais un Log.i("MonAppli","Addresse : "+display); ca affiche quoi dans le log ?
    Le printStackTrace() je ne l'utilise pas vraiment en fait je n'ai pas d'erreur donc ca n'affichera rien, pour ce qu'il en est du code j'ai pas envie de tout posté parce que l'activité fait 700 lignes :p mais ce que j'insère dans la BDD c est cette variable display

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    display = etAddressText.getText() + "," + etLocality.getText() + "," + etPostcode.getText()
               + "," + etCountry.getText();
     
    // je créé un objet contenant mes 3 variables
    TaskAddress taskAddress = new TaskAddress(display, lat,
    							longi);
     
    //J'insère les donnée (display, lat, long) dans ma bdd avec cette fonction :
    TaskAddress.createAddress(NoteReminder.this, taskAddress);
    qui est un string, ca marche ca l'enregistre bien mais le probleme c est que chacun des .getText ne récupère que ce qu'y avait été pré-rempli par le setText et ne tient pas compte des modifications apportées après ce getText.

    Donc en gros : je localise l'endroit avec son adresse et je prérempli les champs de mes editText, après ca je modifie par exemple le numéro de la maison imaginons ou meme n importe quel élément... après ca je met tous les éléments dans la variable display que j'enregistre dans ma BDD (a noter que je fais ca a partir d'une autre page de mon pageAdapter peut etre qu'il y a un pb la quelque part). Dans une autre activité je récupère la variable de ma BDD et je constate que ce son les champ pré rempli sans les modifications que j ai apporté ... :s voila j espere que c ets plus clair :p Merci de m'aider en tout cas !!

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2012
    Messages : 35
    Par défaut
    Problème résolu ;-) j'ai utilisé des .getEditableText() au lieu de getText et c est bon !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de mémoire avec BDE
    Par Machuet dans le forum Bases de données
    Réponses: 3
    Dernier message: 13/07/2004, 10h11
  2. problème de requête avec jointures
    Par tinhat dans le forum Requêtes
    Réponses: 7
    Dernier message: 11/08/2003, 10h33
  3. Problème dans requête avec count()
    Par BadFox dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/07/2003, 18h02
  4. [Kylix] problème compilation kylix3 avec redhat 9.0
    Par madininaoursa dans le forum EDI
    Réponses: 1
    Dernier message: 02/07/2003, 16h21
  5. Problèmes de versions avec Xalan, Xerces et Java
    Par honeyz dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 05/06/2003, 10h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo