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. #21
    Invité
    Invité(e)
    Par défaut
    Bon ça à l'air de marcher sauf que j'arrive pas à passer ce que j'obtiens en string, ça m'affiche l'adresse de la ligne qui m'intérésse :

    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
     
    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.getAListOfAlarms();
            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) {
     
        	ListAlarme alr = ListAlarme.getAListOfAlarms().get(position);
        	String alrStr = alr.toString();
     
          	Intent intenalr1 = new Intent();
        	intenalr1.putExtra("id", alrStr); 
        	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
     
    public class DetailAlarm extends Activity{
     
    	public void onCreate(Bundle savedInstanceState) 
    	{ 
    	    super.onCreate(savedInstanceState); 
    	    setContentView(R.layout.detailalarm);
     
    	    String idalrs = (String)getIntent().getStringExtra("id"); 	    
    	    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);
    }
    Je pense que l'erreur est dans la classe Managamentalarm, mais je ne sais pas comme mettre la valeur récupéré en String :s

  2. #22
    Inactif  

    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    11 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 11 176
    Par défaut
    Ben comme dans ta classe tout est public tu peux faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ListAlarme.getAListOfAlarms().get(position).idAlarme;
    ListAlarme.getAListOfAlarms().get(position).typeAlarme;
    ListAlarme.getAListOfAlarms().get(position).genre;
    Ça fait bizarre d'habitude c'est en private et on fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListAlarme.getAListOfAlarms().get(position).getIdAlarme();
    Et il ni a pas de Set, on met les valeurs que lors de la construction.

    Parce que là je crois que tu peux faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListAlarme.getAListOfAlarms().get(position).typeAlarme="";
    Et normalement on essai d'éviter.

    T'as pas rédéfini de méthode toString() dans ListAlarm ?

    Tu peux faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public String toString() {
         return "id : "+idAlarme+", type : "+typeAlarme+", genre : "+genre+".";
    }

  3. #23
    Invité
    Invité(e)
    Par défaut
    Merci beaucoup!!!! ça marche nickel maintenant =)

    Merci pour ton aide et tes explications!

  4. #24
    Inactif  

    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    11 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 11 176
    Par défaut
    J'ai pas expliqué grand chose, ni même bien expliqué quoi que ce soit.

    Il ce passait quoi quand tu faisais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ListAlarme alr = ListAlarme.getAListOfAlarms().get(position);
    String alrStr = alr.toString();
    Le String contenait une adresse ?

  5. #25
    Invité
    Invité(e)
    Par défaut
    Oui c'est ça, ça affichait com.alarm.ListAlame@xxxx
    avec xxx une suite de chiffre et de lettre, mais elle était différent selon l'item choisi, donc je savais que ça marché mais ça passé pas en String.

  6. #26
    Inactif  

    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    11 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 11 176
    Par défaut
    Je ne suis pas sûre mais je suppose que quand on créer une classe elle est fille de la classe Object et la classe Object à une méthode toString() comme ça :
    http://developer.android.com/referen...toString%28%29

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getClass().getName() + '@' + Integer.toHexString(hashCode())
    Ça ressemble pas mal à ce que tu avais.
    Mais bon si tu redéfinis toString(), t'affiches ce que tu veux.

  7. #27
    Invité
    Invité(e)
    Par défaut
    Si j'ai un autre problème je testerais cela, mais pour l'instant ça fonctionne exactement comme je veux, donc je vais en rester là mais je pense qu'il y possible d'alléger mon code, et cette solution doit le permettre =)

  8. #28
    Inactif  

    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    11 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 11 176
    Par défaut
    Non mais c'est juste que si un jour tu veux pouvoir avoir n'importe quel objet en String sache qu'il faut que tu redéfinisses la méthode toString().

  9. #29
    Invité
    Invité(e)
    Par défaut
    ah ok =) Merci!

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

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, 13h58
  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, 11h25
  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, 17h14
  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, 11h21
  5. Réponses: 3
    Dernier message: 16/01/2006, 17h02

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