getItemAtPosition() ne retourne pas de valeur dans la listview
J'ai créé une coutume Adaptateur de Base de la classe, pour remplir une vue de liste avec l'image et le texte.
Le code de la classe est comme ci-dessous :
public class ViewAdapter extends BaseAdapter {
private Activity activity;
private String[] data;
private static LayoutInflater inflater=null;
public ImageLoader imageLoader;
private ArrayList<String> items;
public ViewAdapter(Activity a, ArrayList<String> items,String[] d) {
this.items = items;
activity = a;
data=d;
inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
imageLoader=new ImageLoader(activity.getApplicationContext());
}
public int getCount() {
return data.length;
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public static class ViewHolder{
public TextView text;
public ImageView image;
}
public View getView(int position, View convertView, ViewGroup parent) {
View vi=convertView;
ViewHolder holder;
if(convertView==null){
vi = inflater.inflate(R.layout.sectionview, null);
holder=new ViewHolder();
holder.text=(TextView)vi.findViewById(R.id.txtLogoName);;
holder.image=(ImageView)vi.findViewById(R.id.imgBrandLogo);
vi.setTag(holder);
}
else
holder=(ViewHolder)vi.getTag();
holder.text.setText(items.get(position));
holder.image.setTag(data[position]);
imageLoader.DisplayImage(data[position], activity, holder.image);
return vi;
}
}
jusqu'à présent la liste fonctionne bien, mais lorsque j'utilise le code ci-dessous pour obtenir la valeur de l'élément en particulier poisition, mais au lieu de la valeur, il est de retour à la position d'élément de la vue de liste.
c'est à dire le code que j'utilise est
public void onItemClick(AdapterView<?> parent, View V, int position, long arg3) {
System.out.println("****SELECTED VALUES " Parent.getItemAtPosition(position));
});
Même à l'aide de getItemIdAtPosition(position) est également de retour la valeur.
Besoin urgent de l'aide sur ce, est-il quelque chose doit être changé dans la classe d'adaptateur??
OriginalL'auteur kaibuki | 2010-10-19
Vous devez vous connecter pour publier un commentaire.
J'ai changé la méthode getItem(int position) à
et maintenant je l'appelle comme :
et donc sa fonctionne bien maintenant.
Vous répondez à mon prêt poser la question.... merci 😀
OriginalL'auteur kaibuki
De votre carte vous avez écrit:
Si cela ne fonctionne pas comme prévu puisque vous êtes de retour à la position de l'élément.
OriginalL'auteur Romain Guy