【发布时间】:2014-02-27 19:47:15
【问题描述】:
在我的列表视图中,当用户单击复选框时,我有复选框,然后值将添加到数组列表(POJO 类)中,问题是当用户取消选中复选框时,必须立即从列表中删除值它没有发生,请建议我
这是我的适配器类
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;
}
}
【问题讨论】:
-
您需要从列表中删除项目,然后在您的适配器上调用
notifyDataSetChanged以刷新列表视图 -
感谢回复,能否提供一些示例代码
-
@Raghunandan 你能指出我的错误吗,在这里:stackoverflow.com/questions/30047959/…
标签: android