Android, conversion

Résolu
Pepito39 Messages postés 91 Date d'inscription   Statut Membre Dernière intervention   -  
Pepito39 Messages postés 91 Date d'inscription   Statut Membre Dernière intervention   -
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 1119 Date d'inscription   Statut Membre Dernière intervention   252
 
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   Statut Membre Dernière intervention   1
 
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   Statut Membre Dernière intervention   1
 
Et sinon, pour la conversion, tu aurais une idée?
0
scinarf Messages postés 1119 Date d'inscription   Statut Membre Dernière intervention   252
 
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   Statut Membre Dernière intervention   1
 
Je l'ai déclaré dans la class MainActivity qui hérite d'Activity
0
scinarf Messages postés 1119 Date d'inscription   Statut Membre Dernière intervention   252
 
Oui mais c'est que type d'bjet un String ? une textView ? ...
0
stagiaire_1 Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   8
 
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   Statut Membre Dernière intervention   1
 
Merci bien :)
C'est un EditText
0
scinarf Messages postés 1119 Date d'inscription   Statut Membre Dernière intervention   252
 
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   Statut Membre Dernière intervention   1
 
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 1119 Date d'inscription   Statut Membre Dernière intervention   252
 
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   Statut Membre Dernière intervention   1
 
D'accord, merci du conseil, je vais essayer de faire comme ça alors! :)
0
Pepito39 Messages postés 91 Date d'inscription   Statut Membre Dernière intervention   1
 
Aah ^^ C'est un EditText
0
stagiaire_1 Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   8
 
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   Statut Membre Dernière intervention   1
 
En effet, c'était bien ça!
Merci beaucoup! :D
0
scinarf Messages postés 1119 Date d'inscription   Statut Membre Dernière intervention   252
 
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   Statut Membre Dernière intervention   8
 
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 1119 Date d'inscription   Statut Membre Dernière intervention   252
 
Autant pour moi alors, je viens d'apprendre quelques chose merci ;)
0
Pepito39 Messages postés 91 Date d'inscription   Statut Membre Dernière intervention   1
 
L'objet pour le setOnClickListener(rechercheListener) est un bouton
0