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 :

Background item ListView


Sujet :

Composants graphiques Android

  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 61
    Par défaut Background item ListView
    Bonjour ! Encore une fois je me tourne vers vous pour certainements une choses simples pour certains ici. J'apprend un peu plus chaque jour.
    Aujour'hui je dois gérer une listview, plus precisement, ajouter une imageview dans la liste view pour chaque item ! Chose faites ! MAintenant la où sa coince, c'est qu'en plus de sa j'aimerai modifier l'image d'arrire plan (background) de chaque item avex une image détenu dans /Drawable. Je précise pour exemple, imaginons 5 items, il y aura donc 5 background different! Donc je suis parti sur la piste d'un tableau de Drawable sans sucees etc... JE vous met le code si dessous, sa sera plus clair pour les vrais : Premierement, l'affichage xml d'un item :

    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
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center"
        android:orientation="vertical"
        >
     
        <ImageView
            android:id="@+id/img"
            android:layout_width="wrap_content"
            android:layout_height="600dp"
            android:paddingLeft="55dp"
            android:scaleType="centerInside"
     
            />
     
     
    </LinearLayout>
    Deuxièmement : Ma listview :

    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
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
     
        tools:context="com.clashesque.antholife.labibleclashesque.ListesCoc"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
     
        <ListView
            android:id="@+id/lcoc"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
     
            />
     
    </LinearLayout>
    Et troisiemement le code JAVA associé :

    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
     String[] values = new String[] { String.valueOf(R.drawable.canon)/*Canon*/,String.valueOf(R.drawable.tesla)/*TeslaCamouflée*/,String.valueOf(R.drawable.tds)/*TourDeSorcier*/};
            ArrayList<HashMap<String, String>> listItem = new ArrayList<HashMap<String, String>>();
            for(int x=0; x<=2; x++){
                HashMap<String, String> map = new HashMap<String, String>();
                map.put("img", values[x]);
     
     
                listItem.add(map);
     
     
            }
     
            SimpleAdapter init = new SimpleAdapter(this.getBaseContext(), listItem, R.layout.affichage,
                    new String[] {"img"}, new int[] {R.id.img});
     
            mCoc.setAdapter(init);
     
     
     
            mCoc.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                public void onItemClick(AdapterView<?> parent, View view,
                                        int position, long id) {
                    if (position == 0) {
                        Intent intent = new Intent(ListesCoc.this, Canon.class);
                        startActivity(intent);
                    }

    Donc concretement j'aimerai modifier pour chaque item , l'arriere plan ppur chaque item je precise et etant different ! Un peu comme ici où j'utilise hashmap pour envoyé les images correspondante dans chaque imageview pour chaque item.

    MERCI !!!!!

  2. #2
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Par défaut
    J'ai du mal à comprendre ta question.

    En premier lieu : quel est le caractère discriminant ? Le critère permettant de dire "là, j'utilise tel fond" ?

    Je vais partir du principe qu'il est basique, et que celui-ci est basé sur l'index dans la liste.
    Pour se faire, de mon côté, je partirai sur un tableau (ou une List) contenant les id des Drawable (R.drawable.[...]).
    Ensuite, dans l'adapter, je ferai le setBackground en inflate le Drawable.

    Est-ce que cela répond à ton besoin ?
    Si non, peux-tu préciser pourquoi s'il te plaît ? Avec force détails
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 29
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 61
    Par défaut
    Merci à vous ! Je désespérais... je résume : J'utilise une listview ; dans laquelle j'insère une imageview pour chaque item grâce à hashmap () comme vous pouvez le voir dans le code. Mais en plus de sa j'aimerai que pour chaque item, il y est un background différent contenu dans /drawable. (Je ne sais ce qu'est un caractère discriminant..) Vous y etes ,j'y est pensé ! Mais rien n'y fais je ne trouve pas de moyen de créé un tableau de drawable... Si vous pouvez m'aiguiller. De plus j'ai pu en conclure que la méthode inflater () est plus utile dans mon cas pour la.memoire etc. Étant donné comment la vue est gérer sur Android. Mais de plus je ne comprend pas cette méthode malheureusement.. Désolé je débute sur Android Merci à vous !

    Ps: On m'a dis d'utiliser un Hashmap string objet aussi mais sa aussi je ne comprend pas.. la plupart des personnes compétentes qui aident oublient que nous somme la pour de l'aide. . Au lieu de balancer les méthodes sur écran comme sa.. Vous n'êtes pas viser je généralisé, je vous remercie encore une fois

  4. #4
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Par défaut
    Cette partie va paraître hautaine : un caractère discriminant est simplement... du français.
    Autrement formulé : qu'est-ce qui fait que tel item doit avoir tel background, et tel autre item doit avoir tel autre background ?

    Il semble que j'avais bien compris, et j'ai indiqué comment je ferai.

    Donc une simple liste d'ID de Drawable :
    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    List<Long> drawablesId = new ArrayList<>();
    drawablesId.add(R.drawables.firstBackground);
    drawablesId.add(R.drawables.secondBackground);
    drawablesId.add(R.drawables.thirdBackground);
    ...
    Ou un simple tableau :
    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
    Long[] drawablesId = {R.drawables.firstBackground, R.drawables.secondBackground, R.drawables.thirdBackground};

    Ca, pour stocker les références vers tes Drawable.

    Ensuite, pour les mettre, ce sera dans ton adapter.
    Je vois que tu utilises un Adapter générique. Je te renvoies donc vers ce tutoriel : http://mickael-lt.developpez.com/tut...iser-listview/ . Plus généralement vers la notion "adapter custom" pour Android
    Il est un peu vieux, mais la logique est toujours la même.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

Discussions similaires

  1. longclick item listView
    Par l-amoureu dans le forum Composants graphiques
    Réponses: 4
    Dernier message: 01/03/2011, 17h30
  2. clic sur item listview fonctionne pas
    Par JCMANSION dans le forum Composants graphiques
    Réponses: 2
    Dernier message: 07/12/2010, 13h06
  3. récupérer contenu item (Listview)
    Par Hellgast dans le forum C++Builder
    Réponses: 1
    Dernier message: 13/03/2010, 20h37
  4. Problème agencement items ListView
    Par Ju2Pom dans le forum C++Builder
    Réponses: 2
    Dernier message: 26/10/2007, 11h09
  5. [c#] doubleclick sur item listview
    Par TERRIBLE dans le forum Windows Forms
    Réponses: 3
    Dernier message: 21/05/2007, 10h48

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