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 avec setOnItemClickListener


Sujet :

Android

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2013
    Messages : 103
    Par défaut Problème avec setOnItemClickListener
    Bonjour,

    J'aimerais intéragir avec ma ListView seulement mon onItemClickListener ne passe pas, j'ai plusieurs erreurs..
    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
    public class AffichageClientActivity extends MainActivity implements onItemClickListener{
    	clientBDD cliBDD= new clientBDD(this);
    	ListView clientListe;
    	client cli = new client("","","","","","","",0,0);
    	private ArrayAdapter<String> ClientAdapter =null;
    	protected void onCreate(Bundle saveInstanceBundle){
    		super.onCreate(saveInstanceBundle);
    		setContentView(R.layout.listingclient);
    		clientListe = (ListView)findViewById(R.id.list);
     
     
    		//récupération de la valeur de l'EditText
    		Bundle objetbundle= this.getIntent().getExtras();
    		String nomclient=objetbundle.getString("nomclient");
     
    		clientListe = (ListView)findViewById(R.id.list);
    		clientListe.setOnItemClickListener(new onItemClickListener (){
    				public void OnItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3){
    					//code une fois l'item cliqué
    				}
    				}
    		ClientAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1);
    		clientListe.setAdapter(ClientAdapter);
    		cliBDD.open();
    		cli = cliBDD.getClientwithNom(nomclient);
    		if (cli != null){
    		//affichage du ou des client(s)
     
    		ClientAdapter.add(cli.getNom()+ "  " + cli.getPrenom());
    		ClientAdapter.setNotifyOnChange(true);
     
     
    		}
    		else
    		{
    			Toast.makeText(this, "Ce client n'est pas enregistré dans la base, vérifier l'orthographe ou bien ajouter un nouveau client.", Toast.LENGTH_LONG).show();
    		}
     
    		cliBDD.close();
    		}
     
    		public String toString(){
    			String MonStringClient = null;
    			MonStringClient = cli.getNom() + cli.getPrenom();
    			return MonStringClient;
    		}
     
    	}
    J'ai ces erreurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onItemClickListener cannot be resolved to a type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    The method 
    	 setOnItemClickListener(AdapterView.OnItemClickListener) in the type 
    	 AdapterView<ListAdapter> is not applicable for the arguments (new 
    	 onItemClickListener(){})
    Savez vous pourquoi?
    Merci d'avance!

  2. #2
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2013
    Messages : 103
    Par défaut
    En fait, je me suis rendu compte que j'avais fait que des conneries!!
    ça doit être la fatigue...
    J'ai arrangé un peu, mais j'ai quand même une erreur..
    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
    public class AffichageClientActivity extends MainActivity /*implements OnItemClickListener*/{
    	clientBDD cliBDD= new clientBDD(this);
    	ListView clientListe;
    	client cli = new client("","","","","","","",0,0);
    	private ArrayAdapter<String> ClientAdapter =null;
    	protected void onCreate(Bundle saveInstanceBundle){
    		super.onCreate(saveInstanceBundle);
    		setContentView(R.layout.listingclient);
    		clientListe = (ListView)findViewById(R.id.list);
     
     
    		//récupération de la valeur de l'EditText
    		Bundle objetbundle= this.getIntent().getExtras();
    		String nomclient=objetbundle.getString("nomclient");
     
    		clientListe = (ListView)findViewById(R.id.list);
    		clientListe.setOnItemClickListener(ItemListener);
    		ClientAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1);
    		clientListe.setAdapter(ClientAdapter);
    		cliBDD.open();
    		cli = cliBDD.getClientwithNom(nomclient);
    		if (cli != null){
    		//affichage du ou des client(s)
     
    		ClientAdapter.add(cli.getNom()+ "  " + cli.getPrenom());
    		ClientAdapter.setNotifyOnChange(true);
     
     
    		}
    		else
    		{
    			Toast.makeText(this, "Ce client n'est pas enregistré dans la base, vérifier l'orthographe ou bien ajouter un nouveau client.", Toast.LENGTH_LONG).show();
    		}
     
    		cliBDD.close();
    	    }  
     
    	        public String toString(){
    			String MonStringClient = null;
    			MonStringClient = cli.getNom() + cli.getPrenom();
    			return MonStringClient;}
     
     
    	        private OnItemClickListener ItemListener = new OnItemClickListener(){
    				public void OnItemClick(ListView clientListe, View v, int position, long id){
    					//code une fois l'item cliqué
    				}
    				};
     
     
     
    }
    L'erreur est à la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private OnItemClickListener ItemListener = new OnItemClickListener(){
    .
    ça me met
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    The type new AdapterView.OnItemClickListener(){} must implement the inherited abstract method AdapterView.OnItemClickListener.onItemClick(AdapterView<?>, View, int, long)
    Comment remedier à ça?

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    757
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 757
    Par défaut
    As-tu importé les classes correspondantes ?

    Sous eclipse, le raccourci est ctrl+maj+O.
    Par ailleurs, essaie d'indenter correctement ton code, ça nous permet d'y voir plus clair. (ctrl+maj+F)

  4. #4
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2013
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2013
    Messages : 70
    Par défaut
    en gros ton erreur signifie que tu n'implémentes pas la méthode onItemClick

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    @override
    public void OnItemClick(ListView clientListe, View v, int position, long id){

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2013
    Messages : 103
    Par défaut
    Merci pour le raccourci (ctrl+maj+f) Simon Marquis, il est bien utile
    Oui, j'ai tout importé, j'ai plus d'erreur sur le setOnItemClickListener, seulement, quand je clique sur l'item, ça me fait planter l'application..

    Mais, j'ai créé une nouvelle discussion pour ce problème: http://www.developpez.net/forums/d13...e/#post7336195, j'espère qu'on pourra m'aider, merci à vous!

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

Discussions similaires

  1. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  2. Problème avec [b]struct[/b]
    Par Bouziane Abderraouf dans le forum CORBA
    Réponses: 2
    Dernier message: 17/07/2002, 10h25
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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