0

in my listview i'm having checkbox when ever user click the checkbox then values are adding in to the arraylist (POJO class),the problem is when user uncheck the checkbox then values have to be removed from the list,right now its not happening,please suggest me

Here is my adapter class

public class MyComposeListItemAdapter extends ArrayAdapter {

public Context mContext;
int row;
public List<MyComposeObject> arrayList;     
public ImageLoader imageLoader;     
private static LayoutInflater inflater=null;    

public static List<SelectedFriendsObject> selectedfriends = new ArrayList<SelectedFriendsObject>();
SelectedFriendsObject friendsObject=new SelectedFriendsObject();

public MyComposeListItemAdapter(Context context, int resource) {
    super(context, resource);
    // TODO Auto-generated constructor stub

    this.mContext = context;
    this.row = resource;
    arrayList = (ArrayList<MyComposeObject>) Woosuite_Login.composeObjectslist;
//  System.out.println("arrayList2"+arrayList.size());      
    imageLoader=new ImageLoader(context);       

}   
@Override
public Context getContext() {
    // TODO Auto-generated method stub
    return mContext;
}
@Override
public int getCount() {
    // TODO Auto-generated method stub
    return arrayList.size();
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
    ViewHolder holder;

    if (convertView == null) {
        LayoutInflater inflater = (LayoutInflater) mContext
                .getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
        convertView = inflater.inflate(row, null);
        holder = new ViewHolder();
        convertView.setTag(holder);
    } else
        holder = (ViewHolder) convertView.getTag();

    holder.checkBox=(CheckBox) convertView.findViewById(R.id.checkBox666);

        holder.checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener() {

            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                // TODO Auto-generated method stub

                if(isChecked){                                                                  
                    itemChecked.set(position, true);

                        friendsObject.setProfile_type(arrayList.get(position).getCom_profileType());
                        friendsObject.setSelected_id(arrayList.get(position).getCom_profileId());
                        selectedfriends.add(friendsObject);

                }else{

                    // when ever control comes here i need to remove the values contained in that list, 

                }
            }
        });     

    return convertView;
}

private static class ViewHolder {
    CheckBox checkBox;
}

}

Androidcuckoo
  • 121
  • 2
  • 18

1 Answers1

0

In the else part of holder.checkBox.setOnCheckedChangeListener you can remove the item from the arraylist and then use.

adapterObj.notifyDataSetChanged();

Amit Gupta
  • 1,067
  • 13
  • 26