单击一个按钮以获得不同的时间

时间:2015-04-26 15:27:14

标签: android button sharedpreferences onclicklistener

我有一个8个CheckBoxs的按钮,我希望当我点击按钮时,我的代码在此代码中运行,例如案例1,用于显示chk1(note.done1)上的刻度。并且当我点击时第二次在按钮上,我的应用程序识别chk1已被选中,现在正在检查chk2(note.done2)以及另外6个CheckBoxs。

但是这段代码是错误的,因为当我点击按钮时,chk1和chk3以及chk5都是真的。另外我正在尝试if和Sharedpreferences和数组。

我不能使用ischecked()方法因为我使用listview 1000(在更少)item.just我可以使用note.done链接到每个项目中的复选框.i可以使用数组链接到每个复选框和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();
        }
    });

1 个答案:

答案 0 :(得分:0)

为什么不使用缺血()?

每当您点击按钮时,您都会选中另一个复选框

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
          }....
    }
 }