i have a listview that has a textview, an editText and an imageButton. when an image button is clicked i change the image resource. the challenge is when changing the background resource on a row reflects on another row when i scroll down. likewise also the editext content of a particular row also reflects in another row when i scrolled down as well. This is my overriden getview method code
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final ViewHolder holder;
if (convertView == null) {
convertView = Utilities.inflateView(context, R.layout.syllabus_row,
null);
holder = createViewHolder(convertView);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.txtTopic.setText(model.get(position).getTopic());
holder.btnDone.setTag(model.get(position).getTopicId());
holder.btnDone.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//int position = (Integer) v.getTag();
//model.get(position).set
((ImageButton)v).setImageResource(R.drawable.ic_radio_checked);
Utilities.ShowMessage(context, holder.edtComment.getText()+"");
}
});
return convertView;
}
my ViewHolder class and CreatViewHolder Method
private ViewHolder createViewHolder(View view) {
holder = new ViewHolder();
holder.txtTopic = (TextView) view.findViewById(R.id.txtSyllabusTopic);
holder.btnDone = (ImageButton) view.findViewById(R.id.btnSyllabusDone);
holder.edtComment = (EditText) view
.findViewById(R.id.edtSyllabusComment);
// set on item click Listener
return holder;
}
static class ViewHolder {
public TextView txtTopic;
public ImageButton btnDone;
public EditText edtComment;
}
I don't know what am doing wrong. i have tried various suggestions seen on this site none seems to e working for me.