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

Android Discussion :

Lier un ImageButton à l'item d'une listView plutôt qu'à sa position dans la LV


Sujet :

Android

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut
    Salut à tous,

    Alors voilà, j'ai une listview qui contient 3 textView, et j'ai rajouté un ImageButton, voici le xml des item de la 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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    <?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:id="@+id/LL_Fond"
    	android:weightSum="1.0">
     
    	<ImageButton 
    		android:layout_width="wrap_content"
    		android:layout_height="50px"
    		android:src="@drawable/star"
    		android:id="@+id/ackbutton"
    		android:visibility="visible"/>
     
    	<TextView
    		android:id="@+id/alarme_id"
    		android:layout_width="wrap_content" 
    		android:layout_height="wrap_content"
    		android:layout_weight="0.3"
    		android:layout_margin="2dip"
    		android:textColor="#000000"
    		android:textSize="25px">
    		</TextView>
     
    	<TextView android:id="@+id/alarme_type"
    		android:layout_width="wrap_content" 
    		android:layout_height="wrap_content"
    		android:layout_weight="0.3"
    		android:layout_margin="2dip"
    		android:textColor="#000000"
    		android:textSize="25px">
    		</TextView>
     
    	<TextView android:id="@+id/alarme_groupe"
    		android:layout_width="wrap_content" 
    		android:layout_height="wrap_content"
    		android:layout_weight="0.3"
    		android:layout_margin="2dip"
    		android:textColor="#000000"
    		android:textSize="25px">
    		</TextView>
     
    </LinearLayout>
    J'ai donc crée une liste d'environ 15 alarmes, et j'ai un menu avec un bouton update qui rajoute une alarme en haut de ma liste.
    Mon ImageButton devient invisible lorsque je clique dessus (j'ai un imagebutton à chaque ligne), mais lorsque je clique sur update, je rajoute bien une nouvelle alarme, avec un id, un type, et un groupe, et j'ai un imagebutton qui apparait sur la ligne , Le problème est le suivant :
    Si par exemple j'ai rendu invisible l'imagebutton à la ligne 2, et que je créé une nouvelle alarme, alors je décale toute mes alarmes (celle à la position 2 passe à la position 3 ...) mais je ne décale pas les imagebutton, ainsi l'imagebutton à la position 2 reste invisible et celle à la position 3 reste visible.

    Ma question serait comment lier mon image button à son alarme dans la liste et non pas à une position? car pour le moment c'est lier à la position dans la liste. Le problème vient-il du xml?

    Ou alors faut-il que je lie chaque imagebutton à "son alarm" dans mon adapter? si c'est cette derniere solution comment faire?

    J'éspère que mes explications étaient clairs, ce n'est pas facile à expliquer quand on ne voit pas le problème =) En tout cas merci d'avance pour votre aide.

    --------EDIT-----------
    Voici le code de mon item "update" la variable varack est un tableau d'entier qui prend la valeur 1 quand l'imagebutton est invisible sinon il faut 0.
    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
    case R.id.update:Toast.makeText(this, " alarms update", Toast.LENGTH_LONG).show();   
    	            //fonctionne mais quand on update décalage des étoiles ack ou non ack!
                 list = (ListView)findViewById(R.id.listalarme);	             
                 adapter = (AlarmeAdapter)list.getAdapter();
                 	 varack[0]=0;             	 
    	             i = i + 1;
     
    	             /**---"Choix" groupe de l'alarme---*/
    	             Random r = new Random();
    	             int valeur = 1 + r.nextInt(4 - 1);
    	             String grpName;
    	             if (valeur == 1){ grpName = "SMS";
    	             }else if (valeur == 2){grpName = "ESD";
    	             }else {grpName = "MAS";}
     
    	             /**---"Choix" priorité de l'alarme---*/
    	             Random r2 = new Random();
    	             int prio = 0 + r2.nextInt(3 - 0);
    	             Log.i("random","ramdon ="+valeur);
    	             if (prio == 0){
    	            	 listP.add(0, new ListAlarme("NEWalarme "+i, "type "+i, grpName, ListAlarme.defaut));
    	             }
    	             else {
    	            	 listP.add(0, new ListAlarme("NEWalarme "+i, "type "+i, grpName, ListAlarme.grave)); 
    	             }	             
    	             /**---Notification des changements---*/       
    	             adapter.notifyDataSetChanged();
                 				  break;
    personne ne sait comment faire pour que mon imageButton soit lier à l'item de la listview et non pas à la position dans la listView? Je n'arrive pas à m'en sortir :s je régle certain problème avec ma variable varack[] mais c'est vraiment un système D pas du tout optimisé :s
    Dernière modification par Feanorin ; 19/07/2011 à 17h29. Motif: .. Même discussion

Discussions similaires

  1. Réponses: 3
    Dernier message: 23/03/2008, 14h54
  2. [VBA] événements souris sur un item d'une listview
    Par DJBORIE dans le forum VBA Access
    Réponses: 11
    Dernier message: 13/04/2007, 15h08
  3. Espace entre item d'une listview
    Par diaboloche dans le forum Windows Forms
    Réponses: 2
    Dernier message: 20/02/2007, 18h01
  4. [VB.NET] Associer nouveaux items a une ListView
    Par size_one_1 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 14/12/2006, 14h32
  5. Changer dynamiquement la couleur d'un item d'une listview
    Par little_cypress dans le forum C++Builder
    Réponses: 2
    Dernier message: 29/11/2004, 14h46

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