Android 单击不同时间的按钮
我有一个用于8个复选框的按钮,当我点击按钮时,我想要一段代码运行,例如代码中的案例1,用于在chk1(note.done1)上显示勾号。当我第二次点击按钮时,我的应用程序识别chk1被选中,现在检查chk2(note.done2)以及另外6个复选框 但这段代码是错误的,因为当我点击按钮时,chk1、chk3和chk5都是真的。我还尝试了else if和Sharedpreferences以及array 我不能使用ischecked()方法,因为我将listview用于1000(更少)项。我可以使用note.done where链接到每个项中的复选框。我也可以使用array where链接到每个复选框和sqlite 有人能帮我吗Android 单击不同时间的按钮,android,button,sharedpreferences,onclicklistener,Android,Button,Sharedpreferences,Onclicklistener,我有一个用于8个复选框的按钮,当我点击按钮时,我想要一段代码运行,例如代码中的案例1,用于在chk1(note.done1)上显示勾号。当我第二次点击按钮时,我的应用程序识别chk1被选中,现在检查chk2(note.done2)以及另外6个复选框 但这段代码是错误的,因为当我点击按钮时,chk1、chk3和chk5都是真的。我还尝试了else if和Sharedpreferences以及array 我不能使用ischecked()方法,因为我将listview用于1000(更少)项。我可以使用
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();
}
});
为什么不使用ischecked() 无论何时单击该按钮,都会选中另一个复选框
btnOk.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if(!checkbox1.ischecked()){
// check checkbox1
}else if(checkbox1.ischecked()){
// check checkbox2
}else if(checkbox1.ischecked() && checkbox2.ischecked()){
// check checkbox3
}....
}
}
我无法使用ischecked()方法,因为我将listview用于1000项。我可以使用note.done where链接到每个项中的复选框。您可以尝试在数据库中签入状态为0的第一个复选框。或者,您可以设置一个全局变量,该变量的点击次数为按钮的点击次数。