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 :

Andoid ERROR :the method updateString(int, String) is undefined for the type Cursor


Sujet :

Android

  1. #1
    Candidat au Club
    Homme Profil pro
    Etudiant
    Inscrit en
    Mars 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Andoid ERROR :the method updateString(int, String) is undefined for the type Cursor
    Bonjour,


    Je reçois le message d'erreur suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    The method updateString(int, String) is undefined for the type Cursor
    Voici le code, s'il vous plaît m'aider à comprendre où je me trompe?

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    package android_programmers_guide.FindAFriend;
    import android_programmers_guide.FindAFriend.Friends;
    import android.app.Activity;
    import android.database.Cursor;
    import android.net.Uri;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    
    
    public class NameEditor extends Activity implements View.OnClickListener {
    public static final String EDIT_NAME_ACTION = "android_programmers_guide.FindAFriend.action.EDIT_NAME";
    private static final int NAME_INDEX = 1;
    private static final String[] PROJECTION = new String[] {
    Friends.Friend._ID,
    Friends.Friend.NAME,
    };
    Cursor mCursor;
    EditText mText;
    
    
    @Override
    public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    setContentView(R.layout.name_editor);
    Uri uri = getIntent().getData();
    mCursor = managedQuery(uri, PROJECTION, null, null, null);
    mText = (EditText) this.findViewById(R.id.name);
    mText.setOnClickListener(this);
    Button b = (Button) findViewById(R.id.ok);
    b.setOnClickListener(this);
    }
    @Override
    protected void onResume() {
    super.onResume();
    if (mCursor != null) {
    mCursor.isFirst(); //**  isFirst c'est une méthode qui retourne si le curseur est pointé sur la première rangée.
    String title = mCursor.getString(NAME_INDEX);
    mText.setText(title);
    }
    }
    @Override
    protected void onPause() {
    super.onPause();
    if (mCursor != null) {
    String title = mText.getText().toString();
    mCursor.updateString(NAME_INDEX, title);
    mCursor.commitUpdates();
    }
    }
    public void onClick(View v) {
    finish();
    }
    }

  2. #2
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Premier point : la méthode managedQuery() est dépréciée pour HoneyComb et après. Donc, si tu cibles en priorités les tablettes et ICS, tu ne devrais plus l'utiliser, et passer par un cursorLoader (comme le préconise la doc).
    Lien

    Ensuite, je ne sais pas du tout d'où tu sors la méthode "updateString()". Comme le message d'erreur te l'indique, cette méthode n'existe pas pour les objets Cursor (et ce n'est pas une erreur de paramètre). Elle existe par contre pour un objet AbstractCursor.

    Cette méthode là est aussi dépréciée (premier résultat de recherche) et ne figure même plus sur la doc officielle de cette classe.

    Je pense que tu pars d'un tuto, je te conseil très fortement d'en changer, celui-ci étant clairement archaïque.

    EDIT : après petite recherche, ce n'est pas un tuto, mais un livre : http://www.amazon.com/ANDROID-PROGRA.../dp/0071599886
    Celui-ci est paru en 2008, donc est basé sur la version 1 ou 1.1 d'Android. Nous sommes en 2012, 4 ans plus tard, sur les versions 2.3, 3 et 4, qui ont connus des évolutions majeures.
    Si tu peux, fais-toi rembourser et prends un livre plus récent (sauf si tu vises bel et bien des téléphones sous Android 1.1, ce qui m'étonnerai beaucoup).
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  3. #3
    Candidat au Club
    Homme Profil pro
    Etudiant
    Inscrit en
    Mars 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 4
    Points : 3
    Points
    3
    Par défaut bon
    mais eclipse me propose une solution pour l'erreur
    il me visualise le message suivant :

    je ne rien compris .. merci pour l'aide

Discussions similaires

  1. Réponses: 1
    Dernier message: 31/10/2013, 12h44
  2. Erreur "method undefined for the type"
    Par armoirapizza dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 04/06/2011, 15h10
  3. The method createStatement() is undefined for the type Connection
    Par Taoufik109 dans le forum Plateformes (Java EE, Jakarta EE, Spring) et Serveurs
    Réponses: 2
    Dernier message: 21/01/2010, 22h00
  4. Erreur "the method is undefined for the type"
    Par youness78 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 13/10/2009, 13h56
  5. Réponses: 1
    Dernier message: 19/11/2008, 17h47

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