【发布时间】:2015-04-26 15:27:13
【问题描述】:
我有一个用于 8 个复选框的按钮,当我单击按钮时,我希望运行一段我的代码,例如此代码中的案例 1,用于在 chk1 (note.done1) 上显示刻度。当我第二次单击时在按钮上,我的应用程序识别 chk1 已检查,现在检查 chk2(note.done2) 以及另外 6 个 CheckBox。
但是这段代码是错误的,因为当我点击按钮时,chk1 和 chk3 和 chk5 是真的。我也在尝试 else if 和 Sharedpreferences 和数组。
我不能使用 ischecked() 方法,因为我使用 listview 和 1000(更少)项目。我可以使用 note.done 链接到每个项目中的复选框。我可以使用数组链接到每个复选框和 sqlite也是!
那么谁能帮帮我?
btnOk.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
switch (G.result_s1[position]) {
case 0: {
note.done1 = true;
note.c = Color.RED;
G.database_s.execSQL("UPDATE mystate SET s1='1' WHERE s_id=" + (position + 1));
G.result_s1[position] = 1;
//AdapterNote.img.setBackgroundColor(Color.CYAN);
}
break;
case 1:
{
note.done2 = true;
note.c = Color.GREEN;
G.database_s.execSQL("UPDATE mystate SET s2='1' WHERE s_id=" + (position + 1));
G.result_s2[position] = 1;
}
break;
}
switch (G.result_s3[position]) {
case 0: {
note.done3 = true;
note.c = Color.MAGENTA;
G.database_s.execSQL("UPDATE mystate SET s3='1' WHERE s_id=" + (position + 1));
G.result_s3[position] = 1;
}
break;
case 1: {
note.done4 = true;
note.c = Color.YELLOW;
G.database_s.execSQL("UPDATE mystate SET s4='1' WHERE s_id=" + (position + 1));
G.result_s4[position] = 1;
}
break;
}
dialog.dismiss();
finish();
}
});
【问题讨论】:
标签: android button sharedpreferences onclicklistener