rafaxplayer
17/10/14, 01:10:17
Saludos compañero , tengo un problema con mi listview, resulta que en cada view de la lsita hay un boton ,el cual impleneto onclicklistener en el mismo adapter a cada boton para que me de una info de la data del adapter.
El problema es que no coincide la data que obtengo con el item que corresponde , muestro el adapter para que se vea mas claro:
public View getView( int position, View convertView, ViewGroup parent) {
ViewHolder holder;
final int pos=position;
if (convertView == null) {
holder = new ViewHolder();
convertView = mInflater.inflate(R.layout.itemlist, null);
holder.txtfile = (TextView) convertView.findViewById(R.id.textname);
holder.txttype = (TextView) convertView.findViewById(R.id.textType);
holder.txtsize = (TextView) convertView.findViewById(R.id.textSize);
holder.infobtn = (ImageButton) convertView.findViewById(R.id.imageInfo);
holder.infobtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(con,data.get(pos).getFilename(),Toa st.LENGTH_LONG).show();;
}
});
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
// holder = (ViewHolder) convertView.getTag();
}
holder.txtfile.setText(data.get(position).getFilen ame());
holder.txttype.setText(data.get(position).getFilet ype());
holder.txtsize.setText(data.get(position).getFiles ize());
return convertView;
}
private class ViewHolder {
TextView txtfile;
TextView txttype;
TextView txtsize;
ImageButton infobtn;
}
Bueno el problema es si que aunque el click sea en el item 20 no me da la info de data.get(20) si no simepre de los 5 o 6 items primeros.
El problema es que no coincide la data que obtengo con el item que corresponde , muestro el adapter para que se vea mas claro:
public View getView( int position, View convertView, ViewGroup parent) {
ViewHolder holder;
final int pos=position;
if (convertView == null) {
holder = new ViewHolder();
convertView = mInflater.inflate(R.layout.itemlist, null);
holder.txtfile = (TextView) convertView.findViewById(R.id.textname);
holder.txttype = (TextView) convertView.findViewById(R.id.textType);
holder.txtsize = (TextView) convertView.findViewById(R.id.textSize);
holder.infobtn = (ImageButton) convertView.findViewById(R.id.imageInfo);
holder.infobtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(con,data.get(pos).getFilename(),Toa st.LENGTH_LONG).show();;
}
});
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
// holder = (ViewHolder) convertView.getTag();
}
holder.txtfile.setText(data.get(position).getFilen ame());
holder.txttype.setText(data.get(position).getFilet ype());
holder.txtsize.setText(data.get(position).getFiles ize());
return convertView;
}
private class ViewHolder {
TextView txtfile;
TextView txttype;
TextView txtsize;
ImageButton infobtn;
}
Bueno el problema es si que aunque el click sea en el item 20 no me da la info de data.get(20) si no simepre de los 5 o 6 items primeros.