OnClick sur textview
Résolu/Fermé
Debutant en webmastering
Messages postés
401
Date d'inscription
lundi 6 juin 2011
Statut
Membre
Dernière intervention
27 janvier 2021
-
Modifié le 1 juin 2017 à 17:06
Debutant en webmastering Messages postés 401 Date d'inscription lundi 6 juin 2011 Statut Membre Dernière intervention 27 janvier 2021 - 2 juin 2017 à 17:38
Debutant en webmastering Messages postés 401 Date d'inscription lundi 6 juin 2011 Statut Membre Dernière intervention 27 janvier 2021 - 2 juin 2017 à 17:38
A voir également:
- Android textview onclick
- Android - Guide
- Android recovery - Guide
- Jouer a pokemon sur android - Guide
- Voir mot de passe wifi android - Guide
- Mode sécurisé android - Guide
6 réponses
BunoCS
Messages postés
15495
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
23 octobre 2024
3 909
Modifié le 2 juin 2017 à 13:58
Modifié le 2 juin 2017 à 13:58
Non, le contexte n'a pas changé. C'est juste que this ne représente pas ce que tu attends ;)
Lorsque tu es dans la méthode
Quelques remarques:
- une bonne pratique au niveau du nommage des variables est de garder le type de l'objet, notamment pour les Activity. Quand on regarde ton code, on ne sait pas que Asking_If_Time est de type Activity. Je te propose AskingIfTimeActivity
- une autre bonne pratique est de ne pas utiliser d'underscore. Il faut préférer la notation CamelCase
- Sur CCM, pense à utiliser le bouton "Répondre au sujet" en bleu plutôt que d'ajouter un commentaire
@+
Buno, Modo CS-CCM
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
The urgent is done, the impossible is underway. For miracles, provide for a delay...
Lorsque tu es dans la méthode
onClick(), tu fais partie d'un object de type
OnClickListener. Donc, à ce niveau, le
thisreprésente cet objet. Tu dois donc utiliser le contexte de l'Activity:
Intent asking_if_time = new Intent(TonActivity.this, Asking_If_Time.class);
Quelques remarques:
- une bonne pratique au niveau du nommage des variables est de garder le type de l'objet, notamment pour les Activity. Quand on regarde ton code, on ne sait pas que Asking_If_Time est de type Activity. Je te propose AskingIfTimeActivity
- une autre bonne pratique est de ne pas utiliser d'underscore. Il faut préférer la notation CamelCase
- Sur CCM, pense à utiliser le bouton "Répondre au sujet" en bleu plutôt que d'ajouter un commentaire
@+
Buno, Modo CS-CCM
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
The urgent is done, the impossible is underway. For miracles, provide for a delay...
BunoCS
Messages postés
15495
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
23 octobre 2024
3 909
1 juin 2017 à 18:00
1 juin 2017 à 18:00
Hello,
Pourquoi dis-tu qu'elle n'est pas disponible?
Pourquoi dis-tu qu'elle n'est pas disponible?
TextViewhéritant de
View, il n'y a pas de souci
Debutant en webmastering
Messages postés
401
Date d'inscription
lundi 6 juin 2011
Statut
Membre
Dernière intervention
27 janvier 2021
1 juin 2017 à 19:10
1 juin 2017 à 19:10
avec le peu de connaissances en Java que j'ai, oui ça me semble correct, cependant en continuant de chercher, cela pourrait venir de l'endroit où je mets cette portion de code ; apparemment il faut la mettre au sein même du onCreate comme le montre ce code
mais j'avoue ne pas "visualiser le fonctionnement" de cette façon de faire (peu de patique Android Studio)
public class mainactivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final Button SuSe = (Button) findViewById(R.id.SuSe); SuSe.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //Button Clicked } }); } }
mais j'avoue ne pas "visualiser le fonctionnement" de cette façon de faire (peu de patique Android Studio)
BunoCS
Messages postés
15495
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
23 octobre 2024
3 909
2 juin 2017 à 09:26
2 juin 2017 à 09:26
L'attribution d'un OnClickListener peut se faire partout, à condition d'avoir accès au composant graphique associé. Le code que tu montre est correct. N'hésites pas à poster ton code qui pose problème si besoin.
Et attention! Android Studio, c'est l'IDE. Quand tu parles du langage, il faut dire Android ;)
mais j'avoue ne pas "visualiser le fonctionnement" de cette façon de faire (peu de patique Android Studio)Ce n'est pas bien compliqué. Tu as un objet (ici une TextView) et tu lui attribues un paramètre (ici un OnClickListener) à l'aide d'une méthode (ici setOnClickListener).
Et attention! Android Studio, c'est l'IDE. Quand tu parles du langage, il faut dire Android ;)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Debutant en webmastering
Messages postés
401
Date d'inscription
lundi 6 juin 2011
Statut
Membre
Dernière intervention
27 janvier 2021
2 juin 2017 à 13:18
2 juin 2017 à 13:18
Merci pour la précision concernant l'IDE et le langage de programmation, quant au code qui ne fonctionnait pas, c'est une erreur de ma part, j'avais oublié de récupérer ma textView au sein d'une variable grâce à findViewById ; cependant en plaçant cette portion de code directement dans le onCreate, le contexte change et donc erreur Cannot resolve constructor Intent voici le code en question :
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_temperature__high); String message = getIntent().getStringExtra("temperature_high_question"); TextView textView = (TextView) findViewById(R.id.Textview_temperature_high_Question); textView.setText(message); TextView textView1 = (TextView) findViewById(R.id.Textview_temperature_high_PC_Consol_Use); textView1.setOnClickListener(new View.OnClickListener(){ public void onClick(View v){ //erreur sur le this Intent asking_if_time = new Intent(this, Asking_If_Time.class); startActivity(asking_if_time); } }); }
Debutant en webmastering
Messages postés
401
Date d'inscription
lundi 6 juin 2011
Statut
Membre
Dernière intervention
27 janvier 2021
2 juin 2017 à 17:38
2 juin 2017 à 17:38
Je te remercie pour toutes les informations en plus des réponses à mes nombreuses interrogations, ça m'aide grandement