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 :

Affichage des images de la ListView dans une nouvelle Activity


Sujet :

Composants graphiques Android

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 9
    Points : 6
    Points
    6
    Par défaut Affichage des images de la ListView dans une nouvelle Activity
    salut,
    je veux créer une listView (images + informations). le clique sur l'un des items de la liste permet l'affichage de l'image dans une autre activité. j'ai crée la liste, mais le problème est l'affichage de l'image à la nouvelle activité.

    Merci d'avance

  2. #2
    Membre actif
    Homme Profil pro
    Développeur Java / C++
    Inscrit en
    Mars 2013
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java / C++

    Informations forums :
    Inscription : Mars 2013
    Messages : 128
    Points : 228
    Points
    228
    Par défaut
    Bonjour h_ta9wa,

    Nous avons besoin de précision sur votre problème:

    - Est-ce le lancement de la nouvelle activité?
    - Est-ce l'affichage de l'image que vous n'arrivez pas à mettre en place?
    - Est-ce le transfert du chemin de l'image d'une activité à une autre?
    Pensez à lire les règles du forum avant de poster.

    Si un poste ou un commentaire vous a été utile, merci de mettre un petit !
    Problème résolu? alors pensez à cliquer sur .
    Si vous avez trouvé la solution tout seul, merci de la poster, ça pourrait aider les suivants!

    Bonjour, s'il vous plaît et merci => ses mots ne coûtent rien, mais ils font toujours plaisirs!

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 164
    Points : 159
    Points
    159
    Par défaut
    bonsoir,

    a la recharge de ton ListView stock ton url d'image dans un setTag, et dans un setOnItemListner recupére l'objet et prend ton url a partir du getTag()
    et voila t'as maintenant ton url renvoie le dans un intent a ton 2ém activité

  4. #4
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par Minicalion Voir le message
    Bonjour h_ta9wa,

    Nous avons besoin de précision sur votre problème:

    - Est-ce le lancement de la nouvelle activité?
    - Est-ce l'affichage de l'image que vous n'arrivez pas à mettre en place?
    - Est-ce le transfert du chemin de l'image d'une activité à une autre?

    J'ai réussi à lancer la nouvelle activité.
    L'image se trouve sous le dossier "res/drawble" et elle s'affiche dans la listView
    le problème que j'ai envisagé est le transfert du chemin de l'image d'une activité à une autre.

  5. #5
    Membre actif
    Homme Profil pro
    Développeur Java / C++
    Inscrit en
    Mars 2013
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java / C++

    Informations forums :
    Inscription : Mars 2013
    Messages : 128
    Points : 228
    Points
    228
    Par défaut
    Oki, dans ce cas, il te suffit d'utiliser la puissance des Intent:

    putExtras est une méthode permettant de "stocker" les données avant le lancement de l'activité

    http://developer.android.com/reference/android/content/Intent.html#putExtra%28java.lang.String,%20double[]%29

    getStringExtra est une méthode permettant de récupérer des données, de type String pour cette méthode, dans la nouvelle activité. Cette méthode existe pour la totalité des types de base il me semble, il suffit d’appeler get"nom du type"Extra.

    http://developer.android.com/referen...lang.String%29

    ces données sont géré par un système de clé/valeur.

    N'hésite pas si tu as besoin de plus de précision
    Pensez à lire les règles du forum avant de poster.

    Si un poste ou un commentaire vous a été utile, merci de mettre un petit !
    Problème résolu? alors pensez à cliquer sur .
    Si vous avez trouvé la solution tout seul, merci de la poster, ça pourrait aider les suivants!

    Bonjour, s'il vous plaît et merci => ses mots ne coûtent rien, mais ils font toujours plaisirs!

  6. #6
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par Minicalion Voir le message
    Oki, dans ce cas, il te suffit d'utiliser la puissance des Intent:

    putExtras est une méthode permettant de "stocker" les données avant le lancement de l'activité

    http://developer.android.com/reference/android/content/Intent.html#putExtra%28java.lang.String,%20double[]%29

    getStringExtra est une méthode permettant de récupérer des données, de type String pour cette méthode, dans la nouvelle activité. Cette méthode existe pour la totalité des types de base il me semble, il suffit d’appeler get"nom du type"Extra.

    http://developer.android.com/referen...lang.String%29

    ces données sont géré par un système de clé/valeur.

    N'hésite pas si tu as besoin de plus de précision

    Salut,
    j'ai utilisé get"nom du type"Extra comme vous m'avez dit précédemment, mais j'ai pas réussi , le problème reste le même; l'image ne s'affiche pas dans la nouvelle activité.
    voila mon code, veuillez m'aider SVP:

    classe listImage.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
    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
    package com.example.menu;
     
    import java.util.ArrayList;
    import java.util.HashMap;
    import com.example.menu.actionBar.OnDispatchClickListener;
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.ListView;
    import android.widget.SimpleAdapter;
    import android.widget.TextView;
    import android.widget.AdapterView.OnItemClickListener;
     
    public class listImage extends Activity implements OnDispatchClickListener{
     
    	final String EXTRA_LOGIN = "user_login";
    	EditText login;
    	private Button b1;
    	private actionBar abar;
    	private TextView textView;
    	private ListView listView;
     
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.ouvrir);
     
    		login = (EditText)findViewById(R.id.edit);
     
    		abar = (actionBar)findViewById(R.id.actionbar);
    		abar.setTitle("Information");
    		abar.showButtonSearch();
    		abar.showButtonComment();
    		abar.setOnDispatchClickListener(this);		
     
    		textView= (TextView)findViewById(R.id.click);
     
    		listView = (ListView)findViewById(R.id.listviewperso);
    		ArrayList<HashMap<String, String>> listItem = new ArrayList<HashMap<String, String>>();
    		HashMap<String, String> map;
     
    		map = new HashMap<String, String>();
    		map.put("titre", "Coupe1");
    		map.put("description", "coupe1");
    		map.put("img", String.valueOf(R.drawable.coupe1));
    		listItem.add(map);
     
    		map = new HashMap<String, String>();
    		map.put("titre", "coupe2");
    		map.put("description", "coupe2");
    		map.put("img", String.valueOf(R.drawable.coupe2));
    		listItem.add(map);
     
    		map = new HashMap<String, String>();
    		map.put("titre", "coupe3");
    		map.put("description", "coupe3");
    		map.put("img", String.valueOf(R.drawable.coupe3));
    		listItem.add(map);
     
    		SimpleAdapter mAdapter = new SimpleAdapter(this.getBaseContext(), listItem, R.layout.affichageitem, new String[] {"img", "title", "description"}, new int[] {R.id.img, R.id.titre, R.id.description});
     
    		listView.setAdapter(mAdapter);
     
    		listView.setOnItemClickListener(new OnItemClickListener() {
     
    			@Override
    			public void onItemClick(AdapterView<?> a, View v, int position, long id) {
    				HashMap<String, String>map=(HashMap<String, String>)listView.getItemAtPosition(position);
     
    				Intent intent = new Intent (listImage.this, image.class);
    				startActivity(intent);
    			}
    		});
     
    		b1 = (Button)findViewById(R.id.b1);
     
    		b1.setOnClickListener(new View.OnClickListener() {		
    			@Override
    			public void onClick(View v) {
    				Intent intent = new Intent(listImage.this, image.class);
    				intent.putExtra(EXTRA_LOGIN, login.getText().toString());
    				startActivity(intent);			
    			}
    		});
    	}
     
    	@Override
    	public void onDispatchClick(int id) {
    		switch (id)
    		{
    			case R.id.ab_home:
    				textView.setText("Home");
    				break;
    			case R.id.ab_comment:
    				textView.setText("Informations");
    				break;
    			case R.id.ab_search:
    				textView.setText("Recherche");
    				break;
    		}
    	}
    }
    classe Image.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
    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
    package com.example.menu;
     
    import com.example.menu.actionBar.OnDispatchClickListener;
     
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.TextView;
     
    public class image extends Activity implements OnDispatchClickListener {
     
    	final String EXTRA_LOGIN = "user_login";
    	private actionBar abar;
    	private Button b1;
    	private TextView textView;
    	TextView loginD;
     
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
     
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.image);
     
    		Intent intent = getIntent();
    		loginD = (TextView)findViewById(R.id.login);
    		if (intent != null)
    		{
    			loginD.setText(intent.getStringExtra(EXTRA_LOGIN));
    		}
     
    		abar = (actionBar)findViewById(R.id.actionbar);
    		abar.setTitle("Information");
    		abar.showButtonSearch();
    		abar.showButtonComment();
    		abar.setOnDispatchClickListener(this);		
     
    		textView= (TextView)findViewById(R.id.click);
     
    		b1 = (Button)findViewById(R.id.button1);
    		b1.setOnClickListener(new View.OnClickListener() {
     
    			@Override
    			public void onClick(View v) {
    				Intent intent = new Intent (getApplicationContext(), listImage.class);
    				startActivityForResult(intent, 1);
    			}
    		});
    	}
    	@Override
    	public void onDispatchClick(int id) {
    		switch (id)
    		{
    			case R.id.ab_home:
    				textView.setText("Home");
    				break;
    			case R.id.ab_comment:
    				textView.setText("Informations");
    				break;
    			case R.id.ab_search:
    				textView.setText("Recherche");
    				break;
    		}
    	}
    }

  7. #7
    Membre habitué
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 281
    Points : 161
    Points
    161
    Par défaut
    Il manque

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    intent.putExtra(KEY,VALUE);
    Dans ta classe de départ

  8. #8
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par anto2b Voir le message
    Il manque

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    intent.putExtra(KEY,VALUE);
    Dans ta classe de départ

    Dans la classe de départ j'ajoute le code ci-dessus; dont "VALUE" contient l'image souhaitée, mais qu'est ce que je mais dans la 2ème classe qui va récupérer l'image stockée!!

  9. #9
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 262
    Points : 157
    Points
    157
    Par défaut
    salut tu dois recuperer de cette façon:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Intent i = getIntent();
    et pour recuperer le drawable je crois :
    i.getextrat.get....

    tu choisit ce que tu cherche si tu as sauvegarder un String tu fais :
    getstring et tu l'enregistre dans ta variable.

  10. #10
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par momedalhouma Voir le message
    salut tu dois recuperer de cette façon:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Intent i = getIntent();
    et pour recuperer le drawable je crois :
    i.getextrat.get....

    tu choisit ce que tu cherche si tu as sauvegarder un String tu fais :
    getstring et tu l'enregistre dans ta variable.

    Merci bien pour vos réponses

  11. #11
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Salut,
    J'ai corrigé mon code, maintenant on peut afficher une chaine de caractère dans la nouvelle activité, mais le problème reste dans l'affichage de l'image
    Voilà mon code, pouvez-vous m'aider ?
    classe 1
    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
    package com.example.coupe;
     
    import java.util.ArrayList;
     
    import android.os.Bundle;
    import android.app.Activity;
    import android.content.Intent;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.ListView;
    import android.widget.AdapterView.OnItemClickListener;
     
    public class CoupeActivity extends Activity {
     
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_coupe);
     
    		ArrayList<ItemDetail> image_details = GetSearchResults();
     
    		final ListView lv1 = (ListView) findViewById(R.id.listV_main);
    		lv1.setAdapter(new ItemBaseAdapter(this, image_details));
     
    		lv1.setOnItemClickListener(new OnItemClickListener() {
     
    			@Override
    			public void onItemClick(AdapterView<?> a, View v, int position, long id) {
    				Intent intent = new Intent (getApplicationContext(), affichage.class);
    				intent.putExtra("position", position);
    				startActivity(intent);
     
    			}
    		});
    	}
     
    	public static ArrayList<ItemDetail> GetSearchResults()
    	{
    		ArrayList<ItemDetail> result = new ArrayList<ItemDetail>();
     
    		ItemDetail item_details = new ItemDetail(); 
    		item_details.setName("Coupe1");
    		item_details.setInfo("informations");
    		item_details.setImageNumber(1);
    		result.add(item_details);
     
    		item_details = new ItemDetail(); 
    		item_details.setName("Coupe2");
    		item_details.setInfo("informations");
    		item_details.setImageNumber(2);
    		result.add(item_details);
     
    		item_details = new ItemDetail(); 
    		item_details.setName("Coupe3");
    		item_details.setInfo("informations");
    		item_details.setImageNumber(3);
    		result.add(item_details);
     
    		return result;
    	}
    }
    Classe 2
    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
    package com.example.coupe;
     
    import android.app.Activity;
    import android.graphics.Bitmap;
    import android.os.Bundle;
    import android.widget.ImageView;
    import android.widget.TextView;
     
    public class affichage extends  Activity{
     
    	ImageView img; 
    	Bitmap bit; 
     
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
     
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.affichage);
     
    		Bundle b = getIntent().getExtras();
    		int index = b.getInt("position");
    		ItemDetail i = CoupeActivity.GetSearchResults().get(index);
     
    		((TextView)findViewById(R.id.text)).setText(i.getName());
    		((TextView)findViewById(R.id.text1)).setText(i.getInfo());
     
    		img = (ImageView)findViewById(R.id.img);
    		bit = i.getImgCoupe();
    		img.setImageBitmap(bit);
     
    	}
     
    }

Discussions similaires

  1. Réponses: 11
    Dernier message: 21/01/2013, 09h12
  2. [WD15] Affichage des donnes de fichier INI dans une table mémoire
    Par bestmoroco dans le forum WinDev
    Réponses: 7
    Dernier message: 17/10/2012, 20h15
  3. Affichage des résultats du khi-deux dans une table
    Par jenyo7 dans le forum SAS STAT
    Réponses: 14
    Dernier message: 29/04/2010, 15h03
  4. Réponses: 6
    Dernier message: 16/11/2009, 08h42
  5. Réponses: 3
    Dernier message: 24/11/2008, 14h09

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