元素被添加到arraylist檢查複選框,但不取消選中它。 取消選中複選框,我必須從arraylist中刪除元素。 我寫了下面的代碼,讓我知道我錯了。我必須刪除從arraylist元素取消選中複選框
public class CustomAdapter extends BaseAdapter{
NameModel model;
public static ArrayList<NameModel> nameArray;
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
LayoutInflater mInflater = (LayoutInflater)context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
convertView = mInflater.inflate(R.layout.item_list, null);
name = (TextView)convertView.findViewById(R.id.name);
cb = (CheckBox)convertView.findViewById(R.id.checkBox1);
cb.setTag(position);
nameArray = new ArrayList<NameModel>();
cb.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int position = (Integer)view.getTag();
CheckBox checkbox = (CheckBox)view;
model = new NameModel(NameList.get(position).getName());
model.setCheckedStatus(checkbox.isChecked());
model.setName(NameList.get(position).getName());
if(checkbox.isChecked()){
CustomAdapter.nameArray.add(model);
Toast.makeText(context, "item checked ", Toast.LENGTH_SHORT).show();
}else{
CustomAdapter.nameArray.remove(model);
Toast.makeText(context, "item unchecked ", Toast.LENGTH_SHORT).show();
}
}
});
}
return convertView;
}
我宣佈ArrayList中爲靜態,因爲它不是在getView方法訪問。
執行時,按預期方式打印兩個吐司,但不取消選中複選框時刪除該元素。
對上述問題的任何幫助將不勝感激。 在此先感謝。
如何從列表中刪除不存在的項目? –
我有一個複選框的自定義列表。第一個用戶將通過選中該複選框從列表中選擇任何元素,並將該元素添加到ArrayList中。但是通過取消選中複選框來取消選擇該元素時,該元素應該從ArrayList中移除。 – user3098795
NameModel有一個equals和hash代碼實現? – StackFlowed