2015-04-26 14 views
1

我有一個8複選框的按鈕,我想當我點擊按鈕一段代碼運行例如情況1在此代碼中顯示在CHK1(note.done1)上打勾第二次,當我點擊按鈕,我的應用程序識別chk1被檢查,現在檢查chk2(note.done2),也爲另外6個CheckBoxs。單擊一個不同時間的按鈕

但這段代碼是錯誤的,因爲當我點擊按鈕時,chk1和chk3和chk5都是true.also我試着在其他情況下如果和Sharedpreferences和數組。

我不能使用梗概()方法,因爲我使用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(); 
     } 
    }); 

回答

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

,因爲我使用的ListView 1000我不能用器isChecked()方法item.just我可以使用note.done其中鏈接到每個項目checkboxs 。 – alireza71

+0

您可以嘗試檢入數據庫,該數據庫是狀態爲0的第一個複選框。 或者您可以設置一個全局變量,其中點擊次數爲按鈕。 –

相關問題