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 :

Créer une activité sur une Listview


Sujet :

Composants graphiques Android

  1. #1
    Invité
    Invité(e)
    Par défaut Créer une activité sur une Listview
    Salut!

    Alors voilà, j'aimerais créer une application ou dans le main.xml on affiche une liste, et lorsque l'on clique sur l'un des objets de la liste on lance une nouvelle activity qui va afficher des détails sur l'objet choisi.
    J'ai regardé plusieurs forum pour me faire une idée de la marche à suivre et voici ce que j'ai fait :

    Classe principale :

    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
     
    public class ManagementAlarm extends Activity implements AlarmeAdapterListener{
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
     
            ArrayList<ListAlarme> listP = ListAlarme.getAListOfPersonne();
            AlarmeAdapter adapter = new AlarmeAdapter(this, listP);
            adapter.addListener(this); 
            ListView list = (ListView)findViewById(R.id.listalarme);
            list.setAdapter(adapter);      
     
        	Controller.managementAlarm = this;
        	Controller.ecranActif = this;
     
            Intent intent1 = new Intent(this,DetailAlarm.class);	        
            Controller.intent1 = intent1;
        //    this.startActivity(intent1); 
        }
     
        public void onClick(ListAlarme item, int position) {
    	    Controller.ShowDetailAlarm();
        }
    Comme je souhaite passer par un controlleur pour changer d'activité il y a une classe controller :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    public class Controller {
     
    	static public ManagementAlarm managementAlarm;
    	static public DetailAlarm detailAlarm;
    	static public Activity ecranActif;
    	static public Intent intent1;
     
    	public static void ShowDetailAlarm(){
    		Controller.ecranActif.startActivityIfNeeded(intent1, 0);
     
    	}
    }
    puis deux autres classes : AlarmeAdapter et DetailAlarm
    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
     
    public class AlarmeAdapter extends BaseAdapter{
     
    	private List<ListAlarme> mListA;
    	private Context mContext;
    	private LayoutInflater mInflater;
    	public AlarmeAdapter(Context context, List<ListAlarme> aListA) {
    		  mContext = context;
    		  mListA = aListA;
    		  mInflater = LayoutInflater.from(mContext);
    		}
    	public int getCount() {
    		  return mListA.size();
    		}
     
    	public Object getItem(int position) {
    		  return mListA.get(position);
    		}
     
    	public long getItemId(int position) {
    		  return position;
    		}
    	public View getView(final int position, View convertView, ViewGroup parent) 
    	{
    		  LinearLayout layoutItem;
    		  if (convertView == null) {
    		    layoutItem = (LinearLayout) mInflater.inflate(R.layout.alarme_layout, parent, false);
    		  } 
    		  else 
    		  {
    		  	layoutItem = (LinearLayout) convertView;
    		  }      
    		  TextView alarmeID = (TextView)layoutItem.findViewById(R.id.alarme_id);
    		  TextView alarmeType = (TextView)layoutItem.findViewById(R.id.alarme_type);		            
    		  alarmeID.setText(mListA.get(position).idAlarme);
    		  alarmeType.setText(mListA.get(position).typeAlarme);
    		  if (mListA.get(position).genre == ListAlarme.grave) 
    		  {
    		    layoutItem.setBackgroundColor(Color.RED);
    		  } else 
    		  {
    		  	layoutItem.setBackgroundColor(Color.YELLOW);
    		  }
    			layoutItem.setTag(position);
    			layoutItem.setOnClickListener(new OnClickListener()
    			{
    					@Override
    					public void onClick(View v) 
    					{
    						Integer position = (Integer)v.getTag();
    						sendListener(mListA.get(position), position);						
    					}		        	
    		     }); 
    		        return layoutItem;
    	}		    
        private ArrayList<AlarmeAdapterListener> myListListener = new ArrayList<AlarmeAdapterListener>();
        public void addListener(AlarmeAdapterListener aListener) 
        {
        	myListListener.add(aListener);
        }
        private void sendListener(ListAlarme item, int position) 
        {
        	for(int i = myListListener.size()-1; i >= 0; i--) 
        	{
        		myListListener.get(i).onClick(item, position);
        	}
        }
    	/**
             * Interface pour écouter les évènements sur le nom d'une personne
             */
    	public interface AlarmeAdapterListener 
    	{
    	  	public void onClick(ListAlarme item, int position);
    	}
    }
    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
     
    public class DetailAlarm extends Activity{
     
    	public Controller controller;
    	public void onCreate(Bundle savedInstanceState) 
    	{ 
    	    super.onCreate(savedInstanceState); 
    	    setContentView(R.layout.detailalarm); 
    	    Controller.detailAlarm = this;
    	    Controller.ecranActif = this;
     
    	   TextView textalarm = (TextView) findViewById(R.id.textview);	   
    	   textalarm.setText(R.id.alarme_id);
     
    	}
    }
    Mon problème est le suivant : Lorsque je lance l'application j'affiche bien ma liste d'alarme (que j'ai créer dans la class ListAlarm mais je ne vous l'ai pas copié) cependant dés que je clique sur un des objets de ma liste, je dois forcer la femeture de l'application ... Des idées de solutions? Merci

  2. #2
    Membre prolifique
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    10 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 10 152
    Par défaut
    Bonjour,
    T'as classe Controller ne sert à rien.

    En plus tu ne prend pas en compte la position, du coup quel que soit l'item cliqué la même action se lance.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public void onClick(int position) {
         switch(position){
              case 0 :
                   //Lance l'Activity de ton premier item
              break;
              case 1 :
                   //Lance l'Activity de ton deuxieme item
              break;
              case 2 :
                   //Lance l'Activity de ton troisiemme item
              break;
         }
    }
    Un truc comme ça c'est plus simple et ça marche pas mal.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Si ma classe controller ne sert à rien, comment je peux lancer ma deuxième activité?

    Ta méthode fonctionne (j'ai testé avec l'affichage d'un message toast) merci, mais je n'arrive quand même pas à lancer ma deuxième activité.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Tu dis que je prend en compte la position mais je ne pense pas que ce soit une erreur, en effet je veux lancer la même activité quelque soit l'objet sur lequel je clique, mais les informations affiché par l'activité seront différents, par exemple je veux récupérer le nom de chaque objet et l'afficher dans un nouveau layout lorsque je clique sur un objet.

    Ai-je quand même besoin de passer par un switch case?

  5. #5
    Membre prolifique
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    10 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 10 152
    Par défaut
    Je comprend absolument pas de quoi tu parles, tu n'as qu'a lancé l'Activity tout simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Intent intent = new Intent();
    intent.setClass(this, *.class);
    startActivity(intent);
    Tu mets ça dans les case que tu veux et voilà.

    A la limite ça ne doit pas être conseillé, mais tu peux même faire :
    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
    public void onClick(int position) {
         Intent intent = new Intent();
         switch(position){
              case 0 :
                   intent.setClass(this, activity1.class);
              break;
              case 1 :
                   intent.setClass(this, activity2.class);
              break;
              case 2 :
                   intent.setClass(this, activity3.class);
              break;
         }
         startActivity(intent);
    }
    Mais bon je tenterais pas.

  6. #6
    Invité
    Invité(e)
    Par défaut
    J'ai fait ce que tu me conseil, voici mon nouveau code, j'ai même supprimé la classe controler, mais j'ai toujours le même problème, lorsque je clique sur un item de ma listview je dois forcé la fermeture.

    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
     
    public class ManagementAlarm extends Activity implements AlarmeAdapterListener{
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
     
            ArrayList<ListAlarme> listP = ListAlarme.getAListOfPersonne();
            AlarmeAdapter adapter = new AlarmeAdapter(this, listP);
            adapter.addListener(this); 
            ListView list = (ListView)findViewById(R.id.listalarme);
            list.setAdapter(adapter);      
        }
        public void onClick(ListAlarme item, int position) {
        	Intent intenalr1 = new Intent();
        	intenalr1.setClass(this, DetailAlarm.class);
    	     startActivity(intenalr1);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public class DetailAlarm extends Activity{
    	public void onCreate(Bundle savedInstanceState) 
    	{ 
    	    super.onCreate(savedInstanceState); 
    	    setContentView(R.layout.detailalarm);	   
    	}
    Une idée du problème?

  7. #7
    Invité
    Invité(e)
    Par défaut
    Est-ce qu'il ne faut pas utiliser la méthode OnItemClick plutôt que OnClick?

  8. #8
    Membre prolifique
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    10 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 10 152
    Par défaut
    Donne nous ton logcat qu'on comprenne l'erreur.

  9. #9
    Invité
    Invité(e)
    Par défaut
    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
     
    05-30 11:28:57.439: ERROR/AndroidRuntime(980): FATAL EXCEPTION: main
    05-30 11:28:57.439: ERROR/AndroidRuntime(980): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.julie/com.julie.ManagementAlarm}: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'
    05-30 11:28:57.439: ERROR/AndroidRuntime(980):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
    05-30 11:28:57.439: ERROR/AndroidRuntime(980):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
    05-30 11:28:57.439: ERROR/AndroidRuntime(980):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
    05-30 11:28:57.439: ERROR/AndroidRuntime(980):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
    05-30 11:28:57.439: ERROR/AndroidRuntime(980):     at android.os.Handler.dispatchMessage(Handler.java:99)
    05-30 11:28:57.439: ERROR/AndroidRuntime(980):     at android.os.Looper.loop(Looper.java:123)
    05-30 11:28:57.439: ERROR/AndroidRuntime(980):     at android.app.ActivityThread.main(ActivityThread.java:4627)
    05-30 11:28:57.439: ERROR/AndroidRuntime(980):     at java.lang.reflect.Method.invokeNative(Native Method)
    05-30 11:28:57.439: ERROR/AndroidRuntime(980):     at java.lang.reflect.Method.invoke(Method.java:521)
    05-30 11:28:57.439: ERROR/AndroidRuntime(980):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
    05-30 11:28:57.439: ERROR/AndroidRuntime(980):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
    05-30 11:28:57.439: ERROR/AndroidRuntime(980):     at dalvik.system.NativeStart.main(Native Method)
    05-30 11:28:57.439: ERROR/AndroidRuntime(980): Caused by: java.lang.RuntimeException: Your content must have a ListView whose id attribute is 'android.R.id.list'
    05-30 11:28:57.439: ERROR/AndroidRuntime(980):     at android.app.ListActivity.onContentChanged(ListActivity.java:245)
    05-30 11:28:57.439: ERROR/AndroidRuntime(980):     at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:201)
    05-30 11:28:57.439: ERROR/AndroidRuntime(980):     at android.app.Activity.setContentView(Activity.java:1647)
    05-30 11:28:57.439: ERROR/AndroidRuntime(980):     at com.julie.ManagementAlarm.onCreate(ManagementAlarm.java:22)
    05-30 11:28:57.439: ERROR/AndroidRuntime(980):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
    05-30 11:28:57.439: ERROR/AndroidRuntime(980):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
    Voilà

  10. #10
    Membre prolifique
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    10 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 10 152
    Par défaut
    Le problème vient de la ligne 22 de ManagementAlarm, il doit y avoir : R.id.list et c'est ça le problème si j'ai bien compris.

    Qu'est-ce que tu fais exactement à cette ligne 22 ?

  11. #11
    Invité
    Invité(e)
    Par défaut
    la ligne 22 c'est : setContentView(R.layout.main);

    Mais j'ai trouvé, le problème venait de :

    public class ManagementAlarm extends Activity implements AlarmeAdapterListener{

    J'avais mis ListActivity au lieu de Activity, il a pas aimé.

    Merci de ton aide!!

    J'ai maintenant une autre question, est-il possible que dans ma deuxième activité affiche un message différent selon l'item sur lequel je clique, ou faut-il forcément que je crée autant d'activité que d'Item? comme tu m'a proposé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public void onClick(int position) {
         switch(position){
              case 0 :
                   //Lance l'Activity de ton premier item
              break;
              case 1 :
                   //Lance l'Activity de ton deuxieme item
              break;
              case 2 :
                   //Lance l'Activity de ton troisiemme item
              break;
         }
    }

  12. #12
    Membre prolifique
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    10 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 10 152
    Par défaut
    Non, tu peux faire une Activity qui change de contenu selon l'item qui à été cliqué.

    Par exemple, avant de startActivity, tu met ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    intent.putExtra("Position", position);
    Et dans l'Activity qui va se lancer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int position = (Integer) getIntent().getSerializableExtra("Position");
    Et maintenant que t'as la position de l'item dans la seconde Activity c'est fini !
    T'as plus qu'a affiché le contenu que tu veux.

  13. #13
    Invité
    Invité(e)
    Par défaut
    Génial ça marche!! Merci beaucoup!

  14. #14
    Invité
    Invité(e)
    Par défaut
    bon pour la position ça marche nickel, par contre je voudrais récupérer le nom de l'objet dans ma liste, et mon code me donne toujours le nom de l'objet situé sur la première liigne (soit la ligne 0), voici mon code :

    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
     
    public class ManagementAlarm extends Activity implements AlarmeAdapterListener{
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
     
            ArrayList<ListAlarme> listP = ListAlarme.getAListOfPersonne();
            AlarmeAdapter adapter = new AlarmeAdapter(this, listP);
            adapter.addListener(this); 
            ListView list = (ListView)findViewById(R.id.listalarme);
            list.setAdapter(adapter);      
        }
        public void onClick(ListAlarme item, int position) {
        	TextView idalr = (TextView) findViewById(R.id.alarme_id); 
        	String idalrStr = idalr.getText().toString(); 
        	TextView typealr = (TextView) findViewById(R.id.alarme_type); 
        	String typealrStr = typealr.getText().toString(); 
     
        	Intent intenalr1 = new Intent();
        	intenalr1.putExtra("idalrm", idalrStr); 
            intenalr1.putExtra("typealrm", typealrStr); 
        	intenalr1.putExtra("Position", position);
        	intenalr1.setClass(this, DetailAlarm.class);
    	    startActivity(intenalr1); 
       }
    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
     
    public class DetailAlarm extends Activity{
    	public void onCreate(Bundle savedInstanceState) 
    	{ 
    	    super.onCreate(savedInstanceState); 
    	    setContentView(R.layout.detailalarm); 
     
    	    String idalrs = (String)getIntent().getExtras().getString("idalrm");
    	    String typealrs =(String)getIntent().getExtras().getString("typealrm"); 	    
    	    int position = (Integer) getIntent().getSerializableExtra("Position");
     
    	    TextView textalarm1 = (TextView)findViewById(R.id.textview1);    
    	    textalarm1.setText("alarme situé à la ligne : " + position);
    	    TextView textalarm2 = (TextView)findViewById(R.id.textview2);    
    	    textalarm2.setText("ID de l'alarme : " +  idalrs);
    	    TextView textalarm3 = (TextView)findViewById(R.id.textview3);    
    	    textalarm3.setText("Type de l'alarme : " +  typealrs);
    	}
    une idée de l'endroit d'où peut venir ce problème? Merci =)

  15. #15
    Membre prolifique
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    10 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 10 152
    Par défaut
    La méthode public Intent putExtra (String name, String value) existe bien :
    http://developer.android.com/referen...lang.String%29

    Par contre pour récupérer c'est public String getStringExtra (String name) :
    http://developer.android.com/referen...lang.String%29

    Enfin test toujours, ça va peut être marcher.

  16. #16
    Invité
    Invité(e)
    Par défaut
    ça marche aussi ce que tu propose, mais ça me fait le même problème, en fait je pense que ça lis uniquement la première ligne de mon listview, il faudrait pt faire une boucle afin que ça aille voir toute les lignes ... je ne suis pas sure, mais j'ai voulu créer un bouton qui changer la couleur de toute les lignes et ça ne change que la première, je pense donc que l'erreur vient d'ailleur ... mais je cherche encore d'où.

  17. #17
    Membre prolifique
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    10 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 10 152
    Par défaut
    Ah ok j'avais pas compris...
    C'est normal t'envoies toujours pareil :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    String idalrStr = idalr.getText().toString(); 
    String typealrStr = typealr.getText().toString();
    Il faudrait que tu prennes les String dans ton item.
    T'as méthode reçoit la position et même l'item, du coup ça doit être facile.

  18. #18
    Invité
    Invité(e)
    Par défaut
    Ok mais comment je fais pour récupérer chaque item, parce que je les ai déclaré dans une classe à part :

    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
     
    public class ListAlarme {
    	public final static int defaut = 1;
    	public final static int grave = 2;
     
    	public String idAlarme;
    	public String typeAlarme;
    	public int genre;
     
    	public ListAlarme(String aid, String atype, int aGenre) {
    		idAlarme = aid;
    		typeAlarme = atype;
    		genre = aGenre;
    	}
     
    	public static ArrayList<ListAlarme> getAListOfPersonne() {
    		ArrayList<ListAlarme> listAl = new ArrayList<ListAlarme>();
     
    		listAl.add(new ListAlarme("alarme1 ", "type1 ", defaut));
    		listAl.add(new ListAlarme("alarme2 ", "type2 ", grave));
    		listAl.add(new ListAlarme("alarme3 ", "type3 ", grave));
    		listAl.add(new ListAlarme("alarme4 ", "type4 ", defaut));
    		listAl.add(new ListAlarme("alarme5 ", "type5 ", defaut));
    		listAl.add(new ListAlarme("alarme6 ", "type6 ", grave));
    		listAl.add(new ListAlarme("alarme7 ", "type7 ", defaut));
    		listAl.add(new ListAlarme("alarme8 ", "type8 ", grave));
    		listAl.add(new ListAlarme("alarme9 ", "type9 ", grave));
    		listAl.add(new ListAlarme("alarme10", "type10", defaut));
    		listAl.add(new ListAlarme("alarme11", "type11", grave));
    		listAl.add(new ListAlarme("alarme12", "type12", grave));
    		listAl.add(new ListAlarme("alarme13", "type13", defaut));
    		listAl.add(new ListAlarme("alarme14", "type14", grave));
     
    		return listAl;
    	}
    }
    du coup je peux pas les récupérer avec un findViewById, vu que je les ai pas déclaré dans un xml...

  19. #19
    Membre prolifique
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    10 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 10 152
    Par défaut
    Bon je présume que tu créer ta ListView avec ce que te retourne la méthode getAListOfPersonne().

    Du coup l'item 0 de ta ListView c'est le get(0) de ton ArrayList de ListAlarme (d'ailleurs ça aurait été plus logique de l’appeler Alarme).

    Il suffit de récupéré l'ArrayList dans l'Activity 2 et voilà.
    Je trouve que c'est un peu le cirque dans ta classe, mais bon après tu fais comme tu veux.

  20. #20
    Invité
    Invité(e)
    Par défaut
    Je fais ce que j'arrive à faire surtout ... j'ai encore beaucoup à apprendre avant de faire une appli propre et complétement claire et surtout qui fonctionne sans pb. Je vais tester ce que tu me conseil merci =)

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [WD18] Metre une colonne d'une Table sur une ligne d'une autre Table
    Par Totophe2 dans le forum WinDev
    Réponses: 2
    Dernier message: 22/11/2013, 12h58
  2. Agir sur une activité depuis une View personalisée
    Par grunk dans le forum Composants graphiques
    Réponses: 14
    Dernier message: 09/08/2011, 10h25
  3. probleme avec l'appui sur une touche sur une jframe ou jdialog
    Par jeanfeu dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 05/08/2008, 16h14
  4. [VBA Excel] Appliquer une macro sur une celulle contenant une valeur
    Par tchauviere dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 21/01/2008, 10h21
  5. Réponses: 3
    Dernier message: 16/01/2006, 16h02

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