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 :

Cliquer sur un colonne d'une ListView


Sujet :

Composants graphiques Android

  1. #1
    Membre habitué
    Homme Profil pro
    ray man
    Inscrit en
    Juillet 2009
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : ray man

    Informations forums :
    Inscription : Juillet 2009
    Messages : 274
    Points : 130
    Points
    130
    Par défaut Cliquer sur un colonne d'une ListView
    Bonjour

    J'ai une listview qui es alimenté d'un flux xml via un adapter et marche bien.
    Mais je veux bien si quel q'un clic sur un colonne de la listview qui m'envoie a une autre activité pour affiché plus de détail mais quant le clic et fais je veux que des donné passe avec intent pour l'affiché.

    voila le code de mon adapter

    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
     
    public View getView(int position, View convertView, ViewGroup parent) 
    	{
    		ViewHolder holder;
     
    		if (convertView == null)
    		{
    			convertView = myInflater.inflate(R.layout.listcenima, null);
    			holder = new ViewHolder();
    			holder.titre = (TextView) convertView.findViewById(R.id.titre);
    			holder.min = (TextView) convertView.findViewById(R.id.min);
    			holder.desc = (TextView) convertView.findViewById(R.id.desc);
    			//holder.image = (ImageView) convertView.findViewById(R.id.image);
    			convertView.setTag(holder);
    		} else {
    			holder = (ViewHolder) convertView.getTag();
    		}
     
     
     
     
    		holder.titre.setText(cenima.get(position).titre);
    		holder.min.setText(cenima.get(position).min+" Min");
    		holder.desc.setText(cenima.get(position).desc.substring(0, 200)+" ...");
    		//Bitmap bitmap = null;
    		String url=cenima.get(position).icon;
    		//Log.i("url", url);
    		//bitmap=downloadImage(url);
    		ImageView image = (ImageView) convertView.findViewById(R.id.image);
    		downloader.download(url, image);
    		//holder.image.setImageBitmap(bitmap);
     
     
     
    		return convertView;
     
    	}
    et voila le code de mon activité main
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    ArrayList<Cenima> cenima= ContenuData.getFeeds(url);
     
            	ListView v =(ListView) this.findViewById(R.id.cenima);
            	MyAdapter adp =new MyAdapter(getApplicationContext(), cenima);
            	v.setAdapter(adp);

    cordialement
    Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement.
    Le français n'est pas ma langue maternelle, désolé pour les éventuelles fautes.
    http://icoz.ma
    http://icozstore.com

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2011
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 59
    Points : 79
    Points
    79
    Par défaut putExtra()
    Pour cliquer sur les colonnes :
    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
    @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            View v = convertView;
            if (v == null) {
                LayoutInflater vi = (LayoutInflater) 
                getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                v = vi.inflate(R.layout.row, null);
            }
     
     
                TextView textViewTwo = (TextView) v
                .findViewById(R.id.text_view_two);
                if (textViewTwo != null) {
                    textViewTwo.setOnClickListener(this);
     
    }
    }
    return v;
    }
     
    @Override
        public void onClick(View v) {
            Log.d("Sample", "Clicked on tag: " + v.getTag());
            // Do something here, like start new activity.
        }
    Et pour récupérer les données tu peux utiliser intent.putExtra("le nom de mon objet", l'objet).
    Il te faut créer une Classe simple avec des Getter et Setter pour tes données que tu instancie dans l'activité de ta ListView.

    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    import android.os.Parcel;
    import android.os.Parcelable;
     
    public class SingleComment implements Parcelable { // Parcelable permet de passer l'objet via un Intent à une autre Activity
     
    	private String comment = null;
    	private String name = null;
    	private int id;
    etc...
    L'Intent qui permettra de reconstruire ton objet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    		Intent intent = new Intent(this, ShowCommentsActivity.class);
    		intent.putExtra("comment_to_record", submitted_comment); // LE NOM ET LA VALEUR DE LA PARCEL
    		startActivity(intent);
    Et la tu récupère ton objet dans l'autre Activity :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    	private SingleComment submitted_comment = null;
     
     
    	@Override
    	public void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
            setContentView(R.layout.lay_show_comments);
     
            			submitted_comment = getIntent().getExtras()
            					.getParcelable("comment_to_record");
    et tu peux donc récupèrer tes données.
    Cordialement.

  3. #3
    Membre habitué
    Homme Profil pro
    ray man
    Inscrit en
    Juillet 2009
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : ray man

    Informations forums :
    Inscription : Juillet 2009
    Messages : 274
    Points : 130
    Points
    130
    Par défaut
    Merci beaucoup pour ta repense
    Je viens d'appliquer ce que tu ma dis a mon cas de besoin et je suis arrivé a déplané une solution mais dans mon code la class adapter ne reconnais pas startActivity pour envoyer intent avec les donnés.

    Voila mon code de adapter

    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
     
    package com.icozz.cenima;
     
    import java.io.IOException;
    import java.io.InputStream;
    import java.net.HttpURLConnection;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.util.ArrayList;
     
    import android.app.Activity;
    import android.app.SearchManager.OnCancelListener;
    import android.content.Context;
    import android.content.Intent;
    import android.graphics.Bitmap;
    import android.graphics.BitmapFactory;
    import android.util.Log;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.view.ViewGroup;
    import android.widget.BaseAdapter;
    import android.widget.ImageView;
    import android.widget.TextView;
     
    public class MyAdapter extends BaseAdapter implements OnClickListener {
     
    	private ArrayList<Cenima> cenima;
    	private LayoutInflater myInflater;
    	ImageDownloader downloader;
    	Context _context;
    	int p;
    	public MyAdapter (Context context, ArrayList<Cenima> cenima)
    	{
    		this.myInflater = LayoutInflater.from(context);
    		this.cenima = cenima;
    		downloader =new ImageDownloader();
    		_context =context;
    	}
     
    	@Override
    	public int getCount() {
    		return this.cenima.size();
    	}
     
    	@Override
    	public Object getItem(int arg0) {
    		return this.cenima.get(arg0);
    	}
     
    	@Override
    	public long getItemId(int position) {
    		return position;
    	}
     
     
     
    	public static class ViewHolder {
    		TextView titre;
    		TextView min;
    		TextView desc;
    		//ImageView image;
     
    	}
     
     
    	@Override
    	public View getView(int position, View convertView, ViewGroup parent) 
    	{
    		ViewHolder holder;
    		p=position;
    		if (convertView == null)
    		{
    			convertView = myInflater.inflate(R.layout.listcenima, null);
    			holder = new ViewHolder();
    			holder.titre = (TextView) convertView.findViewById(R.id.titre);
    			holder.min = (TextView) convertView.findViewById(R.id.min);
    			holder.desc = (TextView) convertView.findViewById(R.id.desc);
     
    			convertView.setTag(holder);
    		} else {
    			holder = (ViewHolder) convertView.getTag();
    		}
     
     
     
    		holder.titre.setText(cenima.get(position).titre);
    		holder.min.setText(cenima.get(position).min+" Min");
    		holder.desc.setText(cenima.get(position).desc.substring(0, 200)+" ...");
    		String url=cenima.get(position).icon;
    		ImageView image = (ImageView) convertView.findViewById(R.id.image);
    		downloader.download(url, image);
     
     
    		OnClickListener clic = new OnClickListener()
    		{
    		 	@Override
    		 	public void onClick(View actuelView)
    		 	{
    			 	Log.i("koko", cenima.get(p).titre);
    			 	Intent intent = new Intent(_context,DescActivity.class);
    			 	intent.putExtra("id", "kesh");
    			 	startActivity(intent);
    		 	}
    		};
    		convertView.setOnClickListener(clic);
    		return convertView;
     
    	}	
     
    	public void onClick(View v) {
    		Log.i("kokaa", cenima.get(p).min);
    	 	Intent intent = new Intent(_context,DescActivity.class);
    	 	intent.putExtra("id", "kesh");
    	 	//startActivity(intent);
     
     
     
    	}
     
    }
    Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement.
    Le français n'est pas ma langue maternelle, désolé pour les éventuelles fautes.
    http://icoz.ma
    http://icozstore.com

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 757
    Points : 968
    Points
    968
    Par défaut
    Il faut simplement donner un context pour lancer une Activity :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    _context.startActivity(intent);

  5. #5
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 593
    Points : 18 498
    Points
    18 498
    Par défaut
    Clean ton project car startActivity devrait fonctionner dans ton onClick() dans getView().

    Dans l'exemple que deepbreak t'as donné il ni a pas de new onClickListener, puisque sa classe implements onClickListener et qu'il fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    textViewTwo.setOnClickListener(this);
    Tu parles de ligne et non pas de colonne.

    Sinon au lieu de gérer le onClick dans l'Adapter, tu peux le faire à l'exterieur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    listView = (ListView) findViewById(R.id.listView);
    listView.setOnItemClickListener(new OnItemClickListener(){
              onItemClick(AdapterView<?> parent, View view, int position, long id){
              }
          }
    );
    Keith Flint 1969 - 2019

  6. #6
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2011
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 59
    Points : 79
    Points
    79
    Par défaut
    Ligne 114 : intent.putExtra("id", "kesh");
    donc putExtra("le nom de ton objet (ta parcel)", l'objet que tu veux faire "passer")

    Dans le cas de figure que je te présente je crée un objet dont les attributs sont les données que je veux faire passer. C'est pour ça que je crée une Classe. Appelons-la MyData() pour l'exemple.
    Ça peut donne un truc du genre :


    MyData data = new MyData(int id, String titre);

    Intent intent = new Intent(this, DescActivity.class);
    intent.putExtra("mesDonnées", data);
    startActivity(intent);


    Dans l'activité "receptrice" tu "recrée ton objet de cette façon-la :

    MyData mesDonnéesRecup = getIntent().getExtras()
    .getParcelable("mesDonnées");
    et je récupère les données mises en attribut :
    int monId = mesDonnéesRecup.getId();
    string titre = mesDonnéesRecup.getTitre();
    MyData() doit implémenter Parcelable.

    Maintenant quels types de données veux-tu "passer", comment les récupères-tu ?
    Cordialement.

  7. #7
    Membre régulier
    Homme Profil pro
    Inscrit en
    Février 2011
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 59
    Points : 79
    Points
    79
    Par défaut Sorry
    A l'avenir je prendrais le temps de bien lire le code !!! et le reste (effectivement il ne s'agit pas de colonnes (comme dit thierrybenji ) mais de rangées si l'on traduit littéralement row. Mais je dirais plutôt items.
    Pour le double onClick je suis aussi passé à coté.
    Ensuite je pense que tu dois utiliser ton adapteur et ta listview dans une Activity qui elle "lancera" l'intent. startActivity() n'a pas besoin de Context. ll me semble que ce serait comme écrire this.startActivity();
    Ensuite il y a aussi la méthode setOnItemClickListener(AdapterView.OnItemClickListener listener) qui me semble intéressante. Tu peux l'utiliser soit directement dans l'Adapter (dans le getView()) soit grace à l'Adapter que tu utilise dans ton Activity.
    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Adapter.setOnItemClickListener(new OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position,
                    long id) {
            }
    });
    Mais je pense qu'il faudrait d'abord revoir la construction de tes Classes...

  8. #8
    Membre habitué
    Homme Profil pro
    ray man
    Inscrit en
    Juillet 2009
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : ray man

    Informations forums :
    Inscription : Juillet 2009
    Messages : 274
    Points : 130
    Points
    130
    Par défaut
    Merci beaucoup pour vos soutien

    Voila ce que j'ai opté

    pour la première proposition de mètre onClic dans getView sa n'a pas marché voila le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    OnClickListener clic = new OnClickListener()
    		{
    		 	@Override
    		 	public void onClick(View actuelView)
    		 	{
    			 	Log.i("koko", cenima.get(p).titre);
    			 	//Intent intent = new Intent(this,DescActivity.class);
    			 	Intent intent = new Intent(_context,DescActivity.class);
    			 	intent.putExtra("titre", "kesh");
    			 	_context.startActivity(intent);
    		 	}
    		};
    Voila l'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
     
    08-06 16:36:38.508: W/dalvikvm(581): threadid=1: thread exiting with uncaught exception (group=0x40015560)
    08-06 16:36:38.539: E/AndroidRuntime(581): FATAL EXCEPTION: main
    08-06 16:36:38.539: E/AndroidRuntime(581): android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
    08-06 16:36:38.539: E/AndroidRuntime(581): 	at android.app.ContextImpl.startActivity(ContextImpl.java:621)
    08-06 16:36:38.539: E/AndroidRuntime(581): 	at android.content.ContextWrapper.startActivity(ContextWrapper.java:258)
    08-06 16:36:38.539: E/AndroidRuntime(581): 	at com.icozz.cenima.MyAdapter$1.onClick(MyAdapter.java:107)
    08-06 16:36:38.539: E/AndroidRuntime(581): 	at android.view.View.performClick(View.java:2485)
    08-06 16:36:38.539: E/AndroidRuntime(581): 	at android.view.View$PerformClick.run(View.java:9080)
    08-06 16:36:38.539: E/AndroidRuntime(581): 	at android.os.Handler.handleCallback(Handler.java:587)
    08-06 16:36:38.539: E/AndroidRuntime(581): 	at android.os.Handler.dispatchMessage(Handler.java:92)
    08-06 16:36:38.539: E/AndroidRuntime(581): 	at android.os.Looper.loop(Looper.java:123)
    08-06 16:36:38.539: E/AndroidRuntime(581): 	at android.app.ActivityThread.main(ActivityThread.java:3683)
    08-06 16:36:38.539: E/AndroidRuntime(581): 	at java.lang.reflect.Method.invokeNative(Native Method)
    08-06 16:36:38.539: E/AndroidRuntime(581): 	at java.lang.reflect.Method.invoke(Method.java:507)
    08-06 16:36:38.539: E/AndroidRuntime(581): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
    08-06 16:36:38.539: E/AndroidRuntime(581): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
    08-06 16:36:38.539: E/AndroidRuntime(581): 	at dalvik.system.NativeStart.main(Native Method)
    Pour la deuxième sa marche bien et voila le code final
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    ListView v =(ListView) this.findViewById(R.id.cenima);
    v.setOnItemClickListener(new OnItemClickListener() {
            		@Override
            		public void onItemClick(AdapterView<?> parent, View view, int position,long id) 
            		{
            			Log.i("mree", ""+position);
            			Intent intent = new Intent(CenimaMarocActivity.this,DescActivity.class);
        			 	intent.putExtra("titre", "kesh");
        			 	Log.i("mree", cenima.get(position).titre);
        			 	startActivity(intent);
            		}
            		});

    Et pour utilisation de Parcelable voila le code de ma class Cenima
    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
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
     
    package com.icozz.cenima;
     
    import android.os.Parcel;
    import android.os.Parcelable;
     
    public class Cenima implements Parcelable
    {
    	String titre ;
    	String min ;
    	String desc ;
    	String icon ;
    	@Override
    	public String toString() {
    		return "Cenima [titre=" + titre + ", min=" + min + ", desc=" + desc
    				+ ", icon=" + icon + "]";
    	}
    	public String getTitre() {
    		return titre;
    	}
    	public void setTitre(String titre) {
    		this.titre = titre;
    	}
    	public String getMin() {
    		return min;
    	}
    	public void setMin(String min) {
    		this.min = min;
    	}
    	public String getDesc() {
    		return desc;
    	}
    	public void setDesc(String desc) {
    		this.desc = desc;
    	}
    	public String getIcon() {
    		return icon;
    	}
    	public void setIcon(String icon) {
    		this.icon = icon;
    	}
    	public Cenima(String titre, String min, String desc, String icon) {
    		super();
    		this.titre = titre;
    		this.min = min;
    		this.desc = desc;
    		this.icon = icon;
    	}
    	public Cenima() {
    		super();
    		// TODO Auto-generated constructor stub
    	}
    	public Cenima(Parcel in) 
    	{
    		this.titre = in.readString();
    		this.min = in.readString();
    		this.desc = in.readString();
    		this.icon = in.readString();
     
    	}
    	@Override
    	public int describeContents() {
    		return 0;
    	}
    	@Override
    	public void writeToParcel(Parcel dest, int flags) 
    	{
    		dest.writeString(titre);
    		dest.writeString(min);
    		dest.writeString(desc);
    		dest.writeString(icon);
    	}
     
    	public static final Parcelable.Creator<Cenima> CREATOR = new Parcelable.Creator<Cenima>()
    			{
    				@Override
    				public Cenima createFromParcel(Parcel source)
    				{
    					return new Cenima(source);
    				}
     
    				@Override
    				public Cenima[] newArray(int size)
    				{
    					return new Cenima[size];
    				}
    			};
     
    	public static Parcelable.Creator<Cenima> getCreator()
    	{
    		return CREATOR;
    	}
     
     
    }

    Cordialement
    Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement.
    Le français n'est pas ma langue maternelle, désolé pour les éventuelles fautes.
    http://icoz.ma
    http://icozstore.com

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

Discussions similaires

  1. [DEBUTANT]ne pas pouvoir cliquer sur certains champs d'une liste deroulante
    Par eclipse012 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 26
    Dernier message: 03/10/2006, 16h44
  2. [WD9] Cliquer sur des enregistrements dans une table
    Par oz80 dans le forum WinDev
    Réponses: 2
    Dernier message: 15/12/2005, 20h11
  3. cliquer sur un bouton d'une application extérieure
    Par looc 6699 dans le forum API, COM et SDKs
    Réponses: 7
    Dernier message: 12/12/2005, 17h46
  4. [VBA] Trier les colonnes d'une listview
    Par alncool dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 01/09/2005, 14h12
  5. Largeur de colonne d'une ListView
    Par deaqu1 dans le forum IHM
    Réponses: 7
    Dernier message: 07/06/2005, 19h45

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