您好我已经在列表视图中创建了基本适配器。我已经实现了自定义复选框。我们需要什么意味着如果我点击了共享偏好中保存的多个项目。如果我已经取消选中意味着删除该共享偏好中的该项目。请给出我的解决方案。
这里我在下面提到了这段代码:
holder.checkBox.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if (((CheckBox) v).isChecked()) {
if (checkBoxState[position] = true) {
// Calculate function
chk = Integer.toString(v.getId());
total += Double.valueOf(category.arrListPrice
.get(position));
System.out.println("********************Checked"
+ total);
checkboxvalue.add(chk);
adapter_list.notifyDataSetChanged();
}
} else {
if (checkBoxState[position] = false) {
System.out.println("*********************unchecked"
+ total);
total -= Double.valueOf(category.arrListPrice
.get(position));
checkboxvalue.remove(chk);
adapter_list.notifyDataSetChanged();
}
}
if (listener != null) {
Log.e("Callback", Double.toString(total));
listener.totalAmount(Double.toString(total));
}
}
});
答案 0 :(得分:0)
public void saveCheckBox(position int, boolean isChecked){
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences();
SharedPreferences.Editor editor = prefs.edit();
editor.putBoolean("checkbox_"+position,isChecked);
editor.commit();
}
public boolean getCheckBoxState(int position){
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences();
prefs.getBoolean("checkbox_"+position, false);
}
只有当复选框的位置始终相同时才会起作用,如果它不同,您应该找到其他方法来确定单击了哪个复选框