The getView() method of the class extending the BaseAdapter holds the state of the currently displayed view which is invalidated when scrolling the listview. So, in order to avoid this problem, proceed in the following manner.
• Create a nested class within the class (class which is extending BaseAdapter Class), namely, Viewholder.
• Declare all the views of an individual list item in this Viewholder Class.
• Create an object of this Viewholder class in the getView() method and initialize all the views declared in the Viewholder class using this object.
Example :
Activity activity;
publicclassViewHolder{
TextViewtextview;
CheckBoxcheckbox;
}
public View getView(finalint position, View convertView, ViewGroup parent)
{
View vi=convertView;
LayoutInflaterinflater = activity.getLayoutInflater();
vi = inflater.inflate (R.layout.listitem, null);
ViewHolder item=newViewHolder();
item.textview = (TextView)vi.findViewById(R.id.textview1);
item.checkbox = (CheckBox)vi.findViewById(R.id.checkbox1);
vi.setTag(item);
return vi;
}
Implement this and check the state of the checkbox while scrolling the listview.
Find us on Google+
Related Posts...
Mobile AppsTechnologies
Jul 17th, 2025
Businesses are always looking for innovative ways to enhance user experiences and stay competitive. One technological advancement making waves globally, especially in Singapore, is the Progressive Web App (PWA). PWAs […]
Read more
Jul 10th, 2025
If you write code, you already know how important it is to keep it readable and organised. One simple yet powerful habit is commenting. It helps you explain sections of […]
Read more
Jul 3rd, 2025
When you picture an iOS developer at work, you probably imagine someone sitting in a trendy café, hammering away at a shiny MacBook. It’s almost become a stereotype — the […]
Read more