字符串数组计数是三。我正在检查图库中的图库三。
根据数组计算,检查三个图像。但在关闭应用程序并返回后,它总是显示exceed
debug.It必须再次检查三个复选框。
MainActivity.java:
String[] strArr = {"One","Two","Three"};
int size = strArr.length;
public void changeSelection(View v, int position) {
if (data.get(position).isSeleted) {
data.get(position).isSeleted = false;
Log.e("UnChecked","Unchecked");
} else if(size < strArr.length){
data.get(position).isSeleted = true;
Log.e("Checked","Checked");
} else {
Log.e("Exceed", "Exceeed");
}
((ViewHolder) v.getTag()).imgQueueMultiSelected.setSelected(data.get(position).isSeleted);
}
任何人都可以帮助我。谢谢。
答案 0 :(得分:0)
根据你的代码。你可能实际上有一个错字:
if (data.get(position).isSelected) {
data.get(position).isSelected = false;
Log.e("UnChecked","Unchecked");
} else if(size < strArr.length){
data.get(position).isSelected = true;
Log.e("Checked","Checked");
}
isSeleted应该 isSelected
此外,大小永远不会小于strArr.length,因为它们都是相同的东西。这会导致你的if else语句总是转到最后的else语句。
取消选中您的复选框是因为您没有保存应用程序的状态。也许这个答案会帮助你:How to save the state of an Android CheckBox when the users exits the application?