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"