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 :

Parsing image pour chaque item d'une ListView


Sujet :

Composants graphiques Android

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 38
    Points : 21
    Points
    21
    Par défaut Parsing image pour chaque item d'une ListView
    Bonjour,

    Je désire construire une listview qui contient la liste des articles de mon flux rss . Chaque item contient une image de l'article et deux textView
    un pour le titre et l'autre pour la date de publication.

    Concernant les textes j'ai pu le faire tout en suivant ce tuto :
    http://thibault-koprowski.fr/2010/10...-sous-android/
    Mais je ne sais pas comment faire pour les images. Quelqu'un aurait un indice ou idée ?

    Merci d'avance

  2. #2
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Bonjour,

    Garde la structure proposer par le tutoriel , ensuite il te suffit de mettre le chemin de ton image dans ton fichier xml au lieu du texte.


    Suite à cela il te suffira de mettre une ImageView au lieu d'une TextView et charger l'image en fonction du chemin trouver dans ton Xml .

    tu as des demandes similaires sur le forum , tu en trouveras plein .
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 38
    Points : 21
    Points
    21
    Par défaut
    Merci Feanorin pour ta reponse
    concernant la représentation graphique je n'ai aucun problème et c'est clair mon problème est que je ne sais pas comment en java se fait son appel et son intégration puisque le code est distribué sur plusieurs fichiers
    j'espère que tu comprennes où je suis coincée.

    merci

  4. #4
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Bonjour,

    je ne sais pas comment en java se fait son appel et son intégration puisque le code est distribué sur plusieurs fichiers
    Pourrais tu nous montrer un exemple, sur ce que tu as en entrée et ce que tu aimerais avoir en sortie ? Car là je coince

    Merci
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 38
    Points : 21
    Points
    21
    Par défaut
    J'ai déjà donne le lien du tuto tu peux jeter un coup d'œil et surtout voir la fonction getView la ou on doit faire l'étape finale du parsing (d'après ce que je viens de comprendre :p)

    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
    @Override
    	public View getView(int position, View convertView, ViewGroup parent){
    		// * Le paramètre "convertView" permet de recycler les élements 
    		// * de notre liste. En effet, l'opération pour convertir un layout 
    		// * XML en IHM standard est très couteuse pour la plateforme Android. 
    		// * On nous propose ici de réutiliser des occurences créées qui ne sont 
    		// * plus affichées. Donc si ce paramètre est "null" alors, il faut "inflater" 
    		// * notre layout XML, sinon on le réutilise
     
     
    		FeedView fv;		
     
    		if (convertView == null)
    		{
    			fv = new FeedView();
    			convertView = inflater.inflate(R.layout.feed_view, null);
     
    			fv.creator = (TextView)convertView.findViewById(R.id.creator);			
    			fv.title = (TextView)convertView.findViewById(R.id.title);
    			fv.pubDate = (TextView)convertView.findViewById(R.id.pub_date);
    			fv.img=(ImageView)convertView.findViewById(R.id.img);
     
     
    			convertView.setTag(fv);
     
    		} 
    		else
    		{
    			fv = (FeedView) convertView.getTag()
    		}
     
    		fv.creator.setText(feeds.get(position).getCreator());
    		fv.pubDate.setText(feeds.get(position).getPubDate());
    		fv.title.setText(feeds.get(position).getTitle());
     
    		return convertView;
    	}
    a travers la méthode "inflate" on va faire la conversion de notre layout XML en IHM android j'aimerai savoir comment ca se fait pour les images

    j'espère que ma question est claire maintenant?
    merci

  6. #6
    Membre averti
    Homme Profil pro
    Ingénieur Informatique et Développeur Android
    Inscrit en
    Janvier 2010
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur Informatique et Développeur Android

    Informations forums :
    Inscription : Janvier 2010
    Messages : 384
    Points : 321
    Points
    321
    Par défaut
    bonjour sabrine,
    je pense puisque tu travaille sur flux rss tu peux socker les urls de tes images dans votre base. puis à partir de ton code android tu recuère les urls concernant et tu developpez une méthode pour exatraire l'image à partir de ton url. ensuite dans méthode getview tu positionne l'image dans le bon endroid de ton listview ...

  7. #7
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    a travers la méthode "inflate" on va faire la conversion de notre layout XML en IHM android j'aimerai savoir comment ca se fait pour les images
    C'est très simple .

    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
     
    @Override
    	public View getView(int position, View convertView, ViewGroup parent){
    		// * Le paramètre "convertView" permet de recycler les élements 
    		// * de notre liste. En effet, l'opération pour convertir un layout 
    		// * XML en IHM standard est très couteuse pour la plateforme Android. 
    		// * On nous propose ici de réutiliser des occurences créées qui ne sont 
    		// * plus affichées. Donc si ce paramètre est "null" alors, il faut "inflater" 
    		// * notre layout XML, sinon on le réutilise
     
     
    		FeedView fv;		
     
    		if (convertView == null)
    		{
    			fv = new FeedView();
    			convertView = inflater.inflate(R.layout.feed_view, null);
     
    			fv.creator = (TextView)convertView.findViewById(R.id.creator);			
    			fv.title = (TextView)convertView.findViewById(R.id.title);
    			fv.pubDate = (TextView)convertView.findViewById(R.id.pub_date);
    			fv.img=(ImageView)convertView.findViewById(R.id.img);
     
     
    			convertView.setTag(fv);
     
    		} 
    		else
    		{
    			fv = (FeedView) convertView.getTag()
    		}
     
    		fv.creator.setText(feeds.get(position).getCreator());
    		fv.pubDate.setText(feeds.get(position).getPubDate());
    		fv.title.setText(feeds.get(position).getTitle());
                    BitmapTaBitmap = BitmapFactory.decodeFile(Ton chemin); // le chemin en fonction de la position :)
                    fv.img.setImageBitmap(TaBitmap); // ou fv.img.setImageResource (int resId) si c'est l'image est une ressource 
     
    		return convertView;
    	}
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  8. #8
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 38
    Points : 21
    Points
    21
    Par défaut
    un grand merci Feanorin
    je vais essayer ta proposition et je t'informe du résultat

  9. #9
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 38
    Points : 21
    Points
    21
    Par défaut
    ca n'a pas marche le code s'exécute correctement normalement mais ca n'affiche rien ???

    le paramètre "ton chemin" peut être n'importe quelle source : une url par exemple ou une source locale ?
    j'ai essaye avec ces 2 :

    - "http://l.yimg.com/bt/api/res/1.2/o3mH9Wwbu7UswdL409TlqQ--/YXBwaWQ9eW5ld3M7Zmk9ZmlsbDtoPTg2O3E9ODU7dz0xMzA-/http://l.yimg.com/os/fr_FR/News/LeMonde.fr/1521380_3_05ef_un-policier-releve-des-indices-a-proximite-d-un.jpg"


    - "D:/icone.png"
    N.B: je teste sur le flux rss yahoo

  10. #10
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Une discussion parlant d'un flux RSS a affiché dans une listView
    http://www.developpez.net/forums/d10...l/#post5850218

    Le chemin n'est pas celui de ton pc mais la sdcard , par contre l'url aurait dû marché
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  11. #11
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 38
    Points : 21
    Points
    21
    Par défaut
    merci tlili mais peux tu me clarfier plus ta proposition ?
    merci encore

  12. #12
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 38
    Points : 21
    Points
    21
    Par défaut
    Peut etre le pb vient de description graphique de ma fenetre
    voici ce que je viens de faire

    c'est la structure du item de ma liste :

    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
     
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:orientation="horizontal">
      <TextView 
      		android:id="@+id/creator"  
      		android:layout_width="wrap_content" 
      		android:layout_height="wrap_content"
      		android:layout_marginRight="10px"
     	/>
     
     
      <LinearLayout 
    	  android:layout_width="wrap_content"
    	  android:layout_height="wrap_content"
      	  android:orientation="vertical"
      >
      	<TextView 
      		android:id="@+id/title"  
      		android:layout_width="wrap_content" 
      		android:layout_height="wrap_content"/>
      	 <TextView 
      		android:id="@+id/pub_date" 
      		android:layout_width="wrap_content" 
      		android:layout_height="wrap_content"
    	/>
      </LinearLayout>
      <LinearLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:orientation="horizontal">
      <ImageView
      	android:id="@+id/img"
    					android:layout_width="fill_parent"
    					android:layout_height="fill_parent"
    				   	android:layout_gravity="center_vertical"
    				   	android:padding="10px"
    				   	android:src="@drawable/icon"
    				   	android:layout_toLeftOf="@id/creator"
     
     
      />
    </LinearLayout>  
    </LinearLayout>
    merci

  13. #13
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 38
    Points : 21
    Points
    21
    Par défaut
    je m'excuse Feanorin pour le décalage de réponses, j'ai un Pb de conn
    concernant la discussion je vais jeter un coup d'œil ca semble que c'est lui ce que je cherche
    1000 merci
    je vais l'essayer

  14. #14
    Membre averti
    Homme Profil pro
    Ingénieur Informatique et Développeur Android
    Inscrit en
    Janvier 2010
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur Informatique et Développeur Android

    Informations forums :
    Inscription : Janvier 2010
    Messages : 384
    Points : 321
    Points
    321
    Par défaut
    je ne comprend pas pourquoi tu utilise deux linearlayout pour la list view tu peux dans un seul linearlayout mettre tout, il faut juste régler le position de composant dans le linearlayout ce facile je pense si tu as récuperer tout vos données

  15. #15
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 38
    Points : 21
    Points
    21
    Par défaut
    Merciiiiiiiiiiiiiii tlili et merci a tous vraiment avec vos réponses et conseils, cela m'encourage toujours à faire un effort de plus pour avancer

    Après les tests je vous informerai de ce que j'obtiendrai

    Tous mes respects aux membres pour votre dynamisme.

Discussions similaires

  1. [Débutant] Ajout une image pour chaque Contact
    Par luc21 dans le forum VB.NET
    Réponses: 1
    Dernier message: 05/10/2013, 14h45
  2. [Toutes versions] Multi-ligne pour le même Item d'une ListView
    Par polkovak dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 13/10/2011, 11h02
  3. [SWT] Mettre un "id" pour chaque item d'une Combo
    Par CharlyBrok dans le forum SWT/JFace
    Réponses: 3
    Dernier message: 04/09/2009, 17h27
  4. Copier une image d'un item d'une listview ?
    Par troxsa dans le forum Windows Forms
    Réponses: 2
    Dernier message: 17/07/2008, 15h40
  5. Afficher une image pour chaque enregistrements
    Par JLV1975 dans le forum IHM
    Réponses: 5
    Dernier message: 17/03/2008, 11h48

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