2010-06-14 7 views
0

J'ai un ListView qui montre une liste de noms. Lorsque vous sélectionnez un nom, je veux passer l'ID de la personne sélectionnée à la vue suivante (Profile) et récupérer ses données en fonction de son ID.Android - Passer une valeur de ListView à une nouvelle activité?

Je suis capable de charger la vue de profil, mais je ne sais pas comment passer l'ID de ListView au profil. Voici comment je suis le chargement du profil:

lv.setOnItemClickListener(new OnItemClickListener() { 
     public void onItemClick(AdapterView<?> parent, View view,int position, long id) {  
      Intent myIntent = new Intent(view.getContext(), SubView.class); // when a row is tapped, load SubView.class 
      startActivityForResult(myIntent, 0); // display SubView.class     
     } 
    }); 
+0

Hmm j'ai trouvé le put/getExtra. Je suppose que la question est maintenant comment attribuer un ID à chaque ligne dans le ListView ... – Chris

+0

Comment avez-vous passé la liste des objets dans le tableau? Je vous prie aider moi avec ceci. – Sergey

Répondre

1

Une intention comprend un paquet de figurants:

Intent myIntent = new Intent(view.getContext(), SubView.class); 
myIntent.putExtra("id", id); 
startActivityForResult(myIntent, 0); // display SubView.class   

Dans la méthode oncreate de l'activité de votre profil, vous pouvez accéder aux extras:

int id = getIntent().getIntExtra("id");   
+0

définitivement besoin d'utiliser getIntExtra ou getStringExtra. – Chris

1

Première activité

Intent myIntent = new Intent(); 
myIntent.putExtra("key", "value"); 
startActivity(myIntent); 

Nouvelle activité

Intent myIntent = getIntent(); // this is just for example purpose 
myIntent.getExtra("key"); 
Questions connexes