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

Composants graphiques Android Discussion :

créer un textView cliquable


Sujet :

Composants graphiques Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2012
    Messages : 145
    Par défaut créer un textView cliquable
    Bonjour,
    J'essaye de faire une action suite à un clique sur un TextView, mais il n'y a pas de réaction !
    Voici mon code
    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
     
    ...
    <TextView
                    android:id="@+id/Champ_Adresse"
                    android:layout_width="match_parent"
                    android:layout_height="115dp"
                    android:background="#D67632"
                    android:clickable="true"
                    android:onClick="onClick"
                    android:text="Adresse"
                    android:textAppearance="?android:attr/textAppearanceLarge" />
     
                <LinearLayout
                    android:id="@+id/layout_Adresse"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical"
                    android:visibility="gone" >
     
    ...
    java
    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
    public class new_client extends Activity  {
    	@Override
        public void onCreate(Bundle savedInstanceState)
        {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.new_client);
    		TextView t = (TextView)findViewById(R.id.Champ_Adresse);
    		t.setOnClickListener(new OnClickListener() {
     
    			public void onClick(View v) {
     
    					System.out.print("essai");
    					LinearLayout champ_adresse=(LinearLayout)findViewById(R.id.layout_Adresse);
    					int visibility_actuel = champ_adresse.getVisibility();
    					if(visibility_actuel==0){
    						champ_adresse.setVisibility(View.VISIBLE);
    					} else {
    						champ_adresse.setVisibility(View.GONE);
    					}// TODO Auto-generated method stub
     
    				}
     
    		});
     
     
        }
     
     
    }
    Merci pour votre aide
    cedric

  2. #2
    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
    Alors en fait tu mélange deux choses :

    Pour définir un listener (écouteur) sur un bouton ou un widget quelconque il y a deux manières :
    • La première (la méthode conseillée) est d'attacher le listener depuis le code.
      C'est ce que tu as fait
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      t.setOnClickListener(new OnClickListener() {/*... onClick ...*/});
    • La deuxième (déconseillée) est de définir le nom du listener directement depuis le xml. C'est ce que tu as aussi fait.
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      android:onClick="monClic"
      Cependant, il faut définir cette méthode dans l'activity que tu souhaites (et non pas dans le corps du listener comme tu as essayé de faire)


    Pour faire court, retire la ligne android:onClick="onClick" de ton fichier xml et tout rentrera dans l'ordre.

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2012
    Messages : 145
    Par défaut
    merci pour votre reponse, je viens de retirer android:onClick="onClick" du fichier xml.
    Ce qui donne :
    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
    <TextView
                    android:id="@+id/Champ_Adresse"
                    android:layout_width="match_parent"
                    android:layout_height="115dp"
                    android:background="#D67632"
                    android:clickable="true"
                    android:text="Adresse"
                    android:textAppearance="?android:attr/textAppearanceLarge" />
     
                <LinearLayout
                    android:id="@+id/layout_Adresse"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical"
                    android:visibility="gone" >
    java
    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
    public class new_client extends Activity  {
    	@Override
        public void onCreate(Bundle savedInstanceState)
        {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.new_client);
    		TextView t = (TextView)findViewById(R.id.Champ_Adresse);
    		t.setOnClickListener(new OnClickListener() {
    			@Override
    			public void onClick(View v) {
    				// TODO Auto-generated method stub
    				System.out.print("essai");
    				LinearLayout champ_adresse=(LinearLayout)findViewById(R.id.layout_Adresse);
    				int visibility_actuel = champ_adresse.getVisibility();
    				if(visibility_actuel==0){
    					champ_adresse.setVisibility(View.VISIBLE);
    				} else {
    					champ_adresse.setVisibility(View.GONE);
    				}// TODO Auto-generated method stub
    			}
    		});
        }
    }
    Donne le logCat , il m’écrit le mot "essai" seulement lorsque je quitte l'activité! Pourquoi?

  4. #4
    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
    Essaie déjà de remplacer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    System.out.print("essai");
    Par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Log.d("MonApplication","essai");
    Car c'est la méthode par défaut pour écrire dans le log

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    145
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Août 2012
    Messages : 145
    Par défaut
    merci Simon pour votre aide ! C'est sympa

Discussions similaires

  1. commet créer une ligne cliquable
    Par ami137 dans le forum C#
    Réponses: 1
    Dernier message: 12/04/2011, 23h18
  2. Créer une image cliquable intéractive avec lien - comment faire ?
    Par jerome44600 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 27/10/2010, 10h09
  3. problème attachMovie pour créer des vignettes cliquables qui lancent des vidéos XML
    Par heelie dans le forum ActionScript 1 & ActionScript 2
    Réponses: 0
    Dernier message: 19/11/2008, 09h44
  4. [Système] Créer un lien "cliquable"
    Par dams78 dans le forum Langage
    Réponses: 2
    Dernier message: 09/05/2006, 23h07

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