Java 关闭应用程序并返回后复选框计数超过
字符串数组计数为3。我正在从gridview检查画廊图像3 基于数组计数,它被选中三个图像。但是在关闭应用程序并返回后,它总是显示Java 关闭应用程序并返回后复选框计数超过,java,android,Java,Android,字符串数组计数为3。我正在从gridview检查画廊图像3 基于数组计数,它被选中三个图像。但是在关闭应用程序并返回后,它总是显示exceptdebug。它必须再次选中三个复选框 MainActivity.java: String[] strArr = {"One","Two","Three"}; int size = strArr.length; public void changeSelection(View v
except
debug。它必须再次选中三个复选框
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", "Exceed");
}
((ViewHolder) v.getTag()).imgQueueMultiSelected.setSelected(data.get(position).isSeleted);
}
String[]strArr={“一”、“二”、“三”};
int size=strArr.length;
公共无效更改选择(视图v,内部位置){
if(data.get(position.isSeleted){
data.get(position).isSeleted=false;
Log.e(“未检查”、“未检查”);
}否则,如果(尺寸
有人能帮我吗?谢谢。根据您的代码。实际上,您可能有一个输入错误:
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");
}
if(data.get(position.isSelected){
data.get(position).isSelected=false;
Log.e(“未检查”、“未检查”);
}否则,如果(尺寸
isSelected应该是isSelected
而且,大小永远不会小于strArr.length,因为它们都是相同的东西。这将导致if-else语句始终转到最终的else语句
未选中复选框是因为未保存应用程序的状态。也许这个答案会帮助你: