Android, conversion

Résolu/Fermé
Pepito39 Messages postés 91 Date d'inscription mercredi 15 mai 2013 Statut Membre Dernière intervention 21 mars 2014 - 25 mai 2013 à 14:41
Pepito39 Messages postés 91 Date d'inscription mercredi 15 mai 2013 Statut Membre Dernière intervention 21 mars 2014 - 29 mai 2013 à 10:04
Bonjour,

Je souhaite récuperer l'information d'une zone de texte, mais j'ai deux erreurs:
- The type new View.OnClickListener(){} must implement the inherited abstract method View.OnClickListener.onClick(View)
-Type mismatch: cannot convert from String to R.string

Voici la partie de code où les erreurs surviennent:
private OnClickListener rechercheListener = new OnClickListener() {
    	public void OnClick(View v)
    	{
    		string nom = nomclient.getText().toString();
    	}
    };


Un peu d'aide ne serait pas de refus. Merci d'avance :)
A voir également:

14 réponses

scinarf Messages postés 1098 Date d'inscription samedi 18 novembre 2006 Statut Membre Dernière intervention 25 septembre 2014 252
27 mai 2013 à 15:35
A Quel objet s'applique le listener ?

Et le nom de la méthode à surcharger s'appel

@Override
public void onClick(View v)
{
}
0
Pepito39 Messages postés 91 Date d'inscription mercredi 15 mai 2013 Statut Membre Dernière intervention 21 mars 2014 1
27 mai 2013 à 17:18
Le listener s'applique à un bouton
Oui, j'ai modifié, merci :) et en débuguant l'erreur ne s'affiche plus.
0
Pepito39 Messages postés 91 Date d'inscription mercredi 15 mai 2013 Statut Membre Dernière intervention 21 mars 2014 1
27 mai 2013 à 17:19
Et sinon, pour la conversion, tu aurais une idée?
0
scinarf Messages postés 1098 Date d'inscription samedi 18 novembre 2006 Statut Membre Dernière intervention 25 septembre 2014 252
28 mai 2013 à 09:17
Quelle est la Class support de nomclient
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Pepito39 Messages postés 91 Date d'inscription mercredi 15 mai 2013 Statut Membre Dernière intervention 21 mars 2014 1
28 mai 2013 à 09:36
Je l'ai déclaré dans la class MainActivity qui hérite d'Activity
0
scinarf Messages postés 1098 Date d'inscription samedi 18 novembre 2006 Statut Membre Dernière intervention 25 septembre 2014 252
28 mai 2013 à 11:15
Oui mais c'est que type d'bjet un String ? une textView ? ...
0
stagiaire_1 Messages postés 17 Date d'inscription mardi 7 mai 2013 Statut Membre Dernière intervention 14 juin 2013 8
28 mai 2013 à 11:22
Re bonjour,

Voici la syntaxe que j'utilise pour mettre des listeners sur des boutons :

// référencement à l'interface graphique
btn = (Button) findViewById(R.id.btn);

// Cette fonction est appellée lorsque l'utilisateur clique sur le boutton
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// ton code
}
});

Si tu fais un copier / coller, ça devrait marcher. Tu dois mettre cette méthode dans ton onCreate de ton activity.


Pour la conversion : De quel type est "nomclient" ? EditText ? TextView? Autre?
0
Pepito39 Messages postés 91 Date d'inscription mercredi 15 mai 2013 Statut Membre Dernière intervention 21 mars 2014 1
28 mai 2013 à 11:25
Merci bien :)
C'est un EditText
0
scinarf Messages postés 1098 Date d'inscription samedi 18 novembre 2006 Statut Membre Dernière intervention 25 septembre 2014 252
28 mai 2013 à 14:02
Pourquoi utiliser une inner class pour faire ça ? Et non pas une véritable Class déclarée dans son propre .java ! ?
0
Pepito39 Messages postés 91 Date d'inscription mercredi 15 mai 2013 Statut Membre Dernière intervention 21 mars 2014 1
28 mai 2013 à 14:36
Ah ça, je sais pas, je débute, et en suivant quelques tutos sur le net, j'en suis arriver à cette solution... ^^
0
scinarf Messages postés 1098 Date d'inscription samedi 18 novembre 2006 Statut Membre Dernière intervention 25 septembre 2014 252
28 mai 2013 à 14:49
Alors je vous conseil de créer un nouveau fichier java pour déclarer chacune de vos class.

Au lien d'avoir

btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// ton code
}
});

Vous aurez

public class votreClass extends ce qu'elle hérite implements ce que vous voulez
{

}

Et pour fais le set :
private votreClass myInstancedeClass;

myInstancedeClass = new votreClass()
btn.setOnClickListener(myInstancedeClass);

De cette manière on évite les fuites de mémoires du a une mauvaise gestion d'un GC capricieux. Et surtout on évite des références non souhaitées ! qui empêche le GC de fonctionner correctement.
0
Pepito39 Messages postés 91 Date d'inscription mercredi 15 mai 2013 Statut Membre Dernière intervention 21 mars 2014 1
28 mai 2013 à 14:52
D'accord, merci du conseil, je vais essayer de faire comme ça alors! :)
0
Pepito39 Messages postés 91 Date d'inscription mercredi 15 mai 2013 Statut Membre Dernière intervention 21 mars 2014 1
28 mai 2013 à 11:23
Aah ^^ C'est un EditText
0
stagiaire_1 Messages postés 17 Date d'inscription mardi 7 mai 2013 Statut Membre Dernière intervention 14 juin 2013 8
28 mai 2013 à 11:25
Peut-être le S de "string nom" qui n'est pas en majuscule? l'objet "string" est différent de l'objet "String".
0
Pepito39 Messages postés 91 Date d'inscription mercredi 15 mai 2013 Statut Membre Dernière intervention 21 mars 2014 1
28 mai 2013 à 11:27
En effet, c'était bien ça!
Merci beaucoup! :D
0
scinarf Messages postés 1098 Date d'inscription samedi 18 novembre 2006 Statut Membre Dernière intervention 25 septembre 2014 252
28 mai 2013 à 11:40
EN java c'est String mais logiquement le compilateur devrai souligner directement une erreur comme celle la.

Mettez une majuscule à String.

Et Que objet est utilisé pour le setOnClickListener(rechercheListener ) ?
0
stagiaire_1 Messages postés 17 Date d'inscription mardi 7 mai 2013 Statut Membre Dernière intervention 14 juin 2013 8
28 mai 2013 à 11:42
Avec le plugin SDK, l'objet "string" existe, il se trouve dans la bibliothèque android.R. S'il a fait un import de cette bibliothèque, c'est normal que l'erreur n'est pas directement soulignée mais c'est l'expression qui l'est.
0
scinarf Messages postés 1098 Date d'inscription samedi 18 novembre 2006 Statut Membre Dernière intervention 25 septembre 2014 252
28 mai 2013 à 11:44
Autant pour moi alors, je viens d'apprendre quelques chose merci ;)
0
Pepito39 Messages postés 91 Date d'inscription mercredi 15 mai 2013 Statut Membre Dernière intervention 21 mars 2014 1
28 mai 2013 à 11:52
L'objet pour le setOnClickListener(rechercheListener) est un bouton
0