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 cursor SQLite


Sujet :

Android

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    541
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 541
    Points : 124
    Points
    124
    Par défaut Problème cursor SQLite
    Bonjour,

    Mon application affiche une liste d'éléments, lors d'un clique sur un élement cela affiche une boite de dialog et lors du clic sur Ok cela sauvegarde les données du cursor à la position cliquée.

    Le problème constaté c'est qu'il ne récupère pas la bonne position de la listview.


    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
     
    	@Override
    	protected void onListItemClick(ListView l, View v, int position, long id) {
     
     
    Bundle b = new Bundle();
    Intent intent = new Intent();
    final Cursor o = (Cursor) l.getItemAtPosition(position);
    final AlertDialog.Builder builder = new AlertDialog.Builder(BActivity.this);
    		builder.setView(layout);
    		builder.setPositiveButton(android.R.string.ok,
    				new DialogInterface.OnClickListener() {
    					public void onClick(DialogInterface dialog, int whichButton) {
     
    ContentValues content = new ContentValues();
    content.put("nom",o.getString(cf.getColumnIndex("nom")));
    db.insererNom(content);
     
    				}
     
    			}
    		});
    }
    D'où pourrais venir le problème?

  2. #2
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Bonjour,


    Pourrais tu nous dire ce que tu récupères dans la variable position et est ce que cela correspond à ceux que tu souhaites obtenir ?

    Merci .
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    541
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 541
    Points : 124
    Points
    124
    Par défaut
    dans la variable position je récupère bien la valeur de l'élément cliqué.

  4. #4
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Dans ce cas regarde petit à petit tes variables pour savoir laquelle est erronée .
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    541
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 541
    Points : 124
    Points
    124
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    protected void onListItemClick(ListView l, View v, int position, long id) {
    super.onListItemClick(l, v, position, id);
    final Cursor o = (Cursor) l.getItemAtPosition(position);
    AlertDialog.Builder builder = new AlertDialog.Builder(BaseAllActivity.this);
    builder.setView(layout);
    builder.setPositiveButton(android.R.string.ok,new DialogInterface.OnClickListener() {
    	public void onClick(DialogInterface dialog, int whichButton) {
                 showMyDialog(c, prix_total);
     
    						}

    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
     
    protected void showMyDialog(final Cursor c, final float prixtotal) {
    AlertDialog.Builder alert = new AlertDialog.Builder(this);
     
    Log.v("Message1", "nom:  " + c.getString(c.getColumnIndex("nom")));
    alert.setTitle(R.string.title_name);
    alert.setMessage(R.string.title_choice_name);
    // Set an EditText view to get user input
    final EditText input = new EditText(this);
    alert.setView(input);
     
    alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
    			public void onClick(DialogInterface dialog, int whichButton) {
    Log.v("Message2", "nom:  " + c.getString(c.getColumnIndex("nom")));
    }
    Le message 1 contient la bonne valeur.
    Je constate que le message 2 n'est pas le même que le message 1 donc il y a un changement dont je ne sais pas par qui il se produit.

  6. #6
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Je constate que le message 2 n'est pas le même que le message 1 donc il y a un changement dont je ne sais pas par qui il se produit.
    Je ne sais pas si cela est une bonne idée d'avoir le cursor en final .
    Car à la fin de ta procédure showMyDialog , je ne sais pas ce que deviens ton Cursor c.
    Essaye plutôt de l'avoir en membre de ta classe, je pense que tu auras moins de problème.
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    541
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 541
    Points : 124
    Points
    124
    Par défaut
    J'ai mis le cursor en variable globale mais cela ne change en rien le problème.

Discussions similaires

  1. Réponses: 4
    Dernier message: 25/06/2010, 17h05
  2. Problème avec Sqlite lors de la compilation
    Par Jiyuu dans le forum Déploiement/Installation
    Réponses: 6
    Dernier message: 28/11/2009, 18h32
  3. [C#]problème avec SqLite
    Par ClaudeBg dans le forum Linq
    Réponses: 8
    Dernier message: 18/06/2009, 16h17
  4. Problème avec SQLITE
    Par Jiyuu dans le forum Django
    Réponses: 2
    Dernier message: 12/03/2009, 07h07
  5. [PB 6.5] Problème cursor avec DB Oracle 10
    Par TIGROUJ dans le forum Powerbuilder
    Réponses: 0
    Dernier message: 04/12/2008, 15h39

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