Skip to content Skip to sidebar Skip to footer

Android- Save Checkbox State In Listview

i have listview with checkboxes and 'save' button. Whichever checkboxes i check and click save button, i want to save the data related to those checked rows into database here is m

Solution 1:

Hi in the GetCardDetails() method add sr1.setSelected(true) or sr1.setSelected(false)

in adapter add the following

publicstatic ArrayList<Boolean> itemChecked1 = null;  
  publicCardDetailsAdapter( Context context, ArrayList<CardDetails> results) {
    super( context, R.layout.welcomelistview, R.id.BankNameID, results );
    searchArrayList = results;
    getContext = context;
    mInflater = LayoutInflater.from(context) ;
    itemChecked1 = new ArrayList<Boolean>();
    for (int i = 0; i < results.size(); i++) {
        itemChecked1.add(i, results.get(i).isSelected()); // initializes all items value with false         
    }
}

in getview

holder.chkbox.setOnClickListener(new View.OnClickListener() {
        publicvoidonClick(View v) {
            CheckBox cb = (CheckBox) v;
            CardDetails planet = (CardDetails) cb.getTag();
            //planet.setSelected(cb.isChecked());if (holder.chkbox.isChecked()) {
                itemChecked1.set(position, true);
                holder.chkbox.setChecked(true);
                planet.setSelected(true);
            } elseif (!holder.chkbox.isChecked()) {
                itemChecked1.set(position, false);
                holder.chkbox.setChecked(false);
                planet.setSelected(false);
            }
        }
    });

Solution 2:

public View getView(finalint position, View convertView,ViewGroup paramViewGroup)
{
    final ViewHolder holder;
    LayoutInflater inflater=(LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE);
    if (convertView == null) 
    {
        convertView=inflater.inflate(R.layout.addressbook, null);holder = newViewHolder();
        holder.adddress_name=(TextView)convertView.findViewById(R.id.addressbook_name);
        holder.adddress_number=(TextView)convertView.findViewById(R.id.address_number);
        holder.adddress_name.setText(adddressbook_name.get(position).toString().trim())
        holder.adddress_number.setText(addressbook_number.get(position).toString().trim());
        holder.addressbook_check=(CheckBox)convertView.findViewById(R.id.address_check);convertView.setTag(holder); 
    }
    else
    {
        holder = (ViewHolder) convertView.getTag();
    }

    holder.addressbook_check.setId(position);

    holder.addressbook_check.setOnClickListener(newOnClickListener()
        {
            publicvoidonClick(View v) 
            {
                CheckBoxcb= (CheckBox) v;
                intid= cb.getId();
                if (thumbnailsselection[id])
                {
                    cb.setChecked(false);
                    thumbnailsselection[id] = false;
                }
                else
                {
                    cb.setChecked(true);
                    thumbnailsselection[id] = true;
                }
            }
        });

    holder.addressbook_check.setChecked(thumbnailsselection[position]);
    return convertView;
}

classViewHolder
{  
    TextView adddress_name;
    TextView adddress_number;
    CheckBox addressbook_check;
}

Post a Comment for "Android- Save Checkbox State In Listview"