I have a custom list whose contents contain two text fields and one checkbox. When the checkbox is selected, then the identifier is stored in the database, and if it is not set, then the identifier is deleted from the database. But I want to select all the checkboxes and save all the identifiers in the database or uncheck the checkboxes and remove all identifiers from the database. What exactly should I implement for this. please help me, this is my adapter code
public class InviteListAdapter2 extends BaseAdapter implements OnClickListener {
private static final String TAG = "GroupEditMemberListAdapter";
private LayoutInflater inflater;
private ViewHolder holder;
private List<FriendItem> list;
private Context context;
private ImageLoader imageLoader;
MessageSendingActivity msg = new MessageSendingActivity();
private String groupId;
SqliteHandle sqhandle;
int total_contacts=0;
String f_id;
int flag=0;
String chetimeslot;
ArrayList<String> currentList = new ArrayList<String>();
public static final String DELETE_MEMBER = "2";
public static final String ADD_MEMBER = "1";
public InviteListAdapter2(Context context, List<FriendItem> list, String groupId, String adminId) {
this.context = context;
inflater = LayoutInflater.from(context);
this.list = list;
imageLoader = new ImageLoader(context);
this.groupId = groupId;
}
public ArrayList<String> getChekedItem()
{
if(currentList!=null)
return this.currentList;
else return null;
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object getItem(int position) {
return list.get(position);
}
@Override
public long getItemId(int position) {
return list.indexOf(getItem(position));
}
public void refresh(List<FriendItem> list) {
this.list = list;
notifyDataSetChanged();
}
public List<FriendItem> getList() {
return list;
}
View hView;
ArrayList<CheckedItem> checkbox_timeslot = new ArrayList<CheckedItem>();
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
hView = convertView;
final FriendItem item = list.get(position);
if (convertView == null) {
holder = new ViewHolder();
hView = inflater.inflate(R.layout.friendlistitem, null);
holder.nameTextView = (TextView) hView.findViewById(R.id.friend_name_text);
holder.statusTextView = (TextView) hView.findViewById(R.id.friend_count_text);
holder.userImageView = (ImageView) hView.findViewById(R.id.friend_image);
holder.checkBox = (CheckBox) hView.findViewById(R.id.chekbox);
hView.setTag(holder);
}
else {
holder = (ViewHolder) hView.getTag();
}
try {
holder.nameTextView.setText(""+item.getName() + " " +item.getLname());
holder.statusTextView.setText(""+item.getContacts());
String path = "http://www.gbggoa.org/testproject/four/images/pic.jpg";
path = Constant.URL + item.getImage();
imageLoader.displayImage(path, holder.userImageView);
if(item.getId().equals(Sessions.getUserId(context)))
{
holder.checkBox.setVisibility(View.GONE);
}
else
{
holder.checkBox.setVisibility(View.VISIBLE);
}
if(item.isChecked())
{
holder.checkBox.setChecked(true);
if(item.getId().equals(Sessions.getUserId(context)))
{
hView.setBackgroundResource(R.drawable.selector_list_gray);
}
else
{
hView.setBackgroundResource(R.drawable.selector_list_green);
}
}
else
{
holder.checkBox.setChecked(false);
hView.setBackgroundResource(R.drawable.selector_list);
}
holder.checkBox.setTag(position);
holder.checkBox.setOnClickListener(this);
} catch (Exception e) {
e.printStackTrace();
}
return hView;
}
class ViewHolder
{
TextView nameTextView, statusTextView;
ImageView userImageView;
CheckBox checkBox;
}
protected void showToast(String message) {
Toast.makeText(context, ""+message, Toast.LENGTH_SHORT).show();
}
protected void showToastLong(String message) {
Toast.makeText(context, ""+message, Toast.LENGTH_LONG).show();
}
@Override
public void onClick(View view) {
final int position = (Integer) view.getTag();
String f_id=list.get(position).getId();
final CheckBox checkBox = (CheckBox) view.findViewById(R.id.chekbox);
sqhandle=new SqliteHandle(context);
final boolean isChecked = checkBox.isChecked();
int total=sqhandle.getCheckedCount();
checkBox.setVisibility(View.GONE);
if(isChecked)
{
total_contacts = total_contacts + Integer.parseInt(list.get(position).getContacts());
sqhandle.changeCheck("1", f_id);
Toast.makeText(context, "Selected Contacts: "+total_contacts, Toast.LENGTH_LONG).show();
}
else
{
sqhandle.changeCheck("0", f_id);
total_contacts = total_contacts - Integer.parseInt(list.get(position).getContacts());
Toast.makeText(context, "Selected Contacts: "+total_contacts, Toast.LENGTH_LONG).show();
}
sqhandle.close();
checkBox.setVisibility(View.VISIBLE);
list.get(position).setChecked(isChecked);
notifyDataSetChanged();
}
}
source
share