I have implemented check box in a list, there is a names with check box. My problem is, I will select five names and I will display those names, after that if I come back to list, again those five names should be checked because I have already selected those names.
But now those are unchecked when I have revisited. How to achieve this.
My adapter code.
holder.UserId_Fk.setText(tempValues.getUserId_Fk().toString());
holder.chkbox.setOnCheckedChangeListener(null);
holder.chkbox.setChecked(checkedHolder[position]);
Log.i(TAG, "Position " + checkedHolder[position]);
if (checkedHolder[position])
holder.chkbox.setChecked(true);
else
holder.chkbox.setChecked(false);
holder.chkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
checkedHolder[position] = isChecked;
Log.i(TAG, "Position " + checkedHolder[position]);
}
});
My activity code..
list.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
CheckBox cb = (CheckBox) view.findViewById(R.id.chkbox);
cb.performClick();
if (cb.isChecked()) {
for (int i = 0; i < adapter.getCount(); i++) {
if (adapter.checkedHolder[i]) {
// get all name values that checked by user
MemberName.clear();
MemberName.add(ItemsArr.get(i).getItemName().toString());
cb.setChecked(true);
Log.i(TAG, "Name " + MemberName);
// Name = ItemsArr.get(i).getItemName().toString();
//Log.i(TAG, "Name " + Name);
}
}
} else if (!cb.isChecked()) {
}
}
});
Aucun commentaire:
Enregistrer un commentaire