2010-05-22 6 views
1

** Bonjour, J'essaie de récupérer la 2ème valeur d'un Arraylist/ArrayAdapter que j'ai rempli. Je suis nouveau à Array donc s'il vous plaît corrigez-moi si je me trompeonListItemClick avec Mulitple Value/Récupération de valeur

Q1. J'ai créé le favori Array. Ce que je pense que ce que j'ai créé est un tableau avec deux ensembles d'appel de valeur Détail | Valeur. exemple Detail = "Yasmin", Value = "8". Est-ce correct?

Q2. J'ai assigné le tableau préféré à la liste mFavlist. Pendant OnItemClick je peux retourner l'étiquette "Yasmin" par la position de la liste. Ce que je voudrais faire est de retourner la valeur de "8". Quelle serait la meilleure façon de faire cela?

S'il vous plaît laissez-moi savoir si je suis sur la bonne voie via le tableau et l'adaptateur **

import java.util.ArrayList; 
import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.AdapterView; 
import android.widget.ArrayAdapter; 
import android.widget.ListView; 
import android.widget.TextView; 
import android.widget.AdapterView.OnItemClickListener; 

public class lister extends Activity { 
    /** Called when the activity is first created. */ 
     TextView txHomeTeam; 
     protected ListView mFavlist; 
     protected ArrayList<Favorite> fakeFavs = new ArrayList<Favorite>(); 

@Override 
    public void onCreate(Bundle icicle) { 
     super.onCreate(icicle); 
     this.setContentView(R.layout.main); 


     this.txHomeTeam = (TextView)this.findViewById(R.id.title); 

     fakeFavs.add(new Favorite("John", "1")); 
     fakeFavs.add(new Favorite("Yasmin", "8")); 
     fakeFavs.add(new Favorite("Jack", "10")); 

     //this.mFavlist = (ListView) this.findViewById(R.id.list_favorites); 
     this.mFavlist = (ListView) this.findViewById(R.id.list_favorites); 
     initListView(); 

     mFavlist.setTextFilterEnabled(true); 

     mFavlist.setOnItemClickListener(new OnItemClickListener() { 
         @Override 
         public void onItemClick(AdapterView arg0, View view, 
              int position, long id) { 

           // user clicked a list item, 
    //and read the value from <Favorite>.value 
           //txHomeTeam.setText=???? 

           } 

     }); 

    } 

    public void refreshFavListItems() { 
      mFavlist.setAdapter(new ArrayAdapter<Favorite>(this, 
          android.R.layout.simple_list_item_1, fakeFavs)); 
    } 

    public void initListView() { 
     /* Loads the items to the ListView. */ 
     refreshFavListItems(); 

    } 
protected class Favorite { 
     protected String Detail; 
     protected String value; 

     protected Favorite(String Detail, String value) { 
       this.Detail = Detail; 
       this.value = value; 

     } 
     public String toString() { 
       return Detail; 
     } 
} 


} 
+0

Vous avez pas posé de questions ici. Quel est le problème? Quels sont les symptômes? Recevez-vous des messages d'erreur? – CommonsWare

+0

mes excuses s'il n'y a aucune confusion, j'ai un problème avec le bloc de code. Je vais mettre à jour la partie principale – JuniorFlip

Répondre

0

Utilisez le paramètre position pour obtenir la bonne position dans votre adaptateur

public void onItemClick(AdapterView arg0, View view, 
              int position, long id) { 
    Favorite selectedFav=lister.this.fakeFavs.getItem(position) 
} 
Questions connexes