2015-10-20 26 views
0

我有3个复选框..我已经添加每个复选框的点击侦听器..基于复选框单击我已设置值内点击侦听器...添加后复选框点击,将有可能取消选中它,同时更新复选框...如何传递值虽然复选框未选中

虽然点击复选框我设置isSelected = 1 ...就像我需要设置isSelected = 0的方式,而它未被选中...它是如何possible..Please帮我找出

这是我的复选框,点击listener1

checkBox_onEventDay.setOnClickListener(new View.OnClickListener() { 

      public void onClick(View v) { 

       if (((CheckBox) v).isChecked()) { 
        response = 1; 
        try { 
         //Here we are getting the date from btn_Date(date picker) 
         //date and time format changed here 
         String eventDate = btn_Date.getText().toString(); 
         DateFormat date = new SimpleDateFormat("dd-M-yyyy"); 
         Date date1 = date.parse(eventDate); 
         DateFormat convertDate = new SimpleDateFormat(" dd.MM.yyyy"); 
         eventDate = convertDate.format(date1); 
         eventMO.setEventDate(eventDate); 
         //here we are setting event date as reminder date.. 
         //Because it is on event day checkbox 
         reminderDate = eventDate; 
         eventReminderDaysDetails(response, reminderDate); 
         Toast.makeText(OccasionActivity.this, 
           "Checked", Toast.LENGTH_LONG).show(); 


        } catch (ParseException pExp) { 
         pExp.printStackTrace(); 
        } 
       } 

      } 
     }); 
+2

我在你的描述中遗漏了什么吗?为什么不使用if(v.isChecked())isSelected = 1; else isSelected = 0; ? –

+1

还是更好呢,isSelected = v.isChecked? 1:0; –

+0

@科迪线束..我不能让你..你可以请解释清楚 –

回答

1

您可以使用下面的代码:

if(cb.isChecked()) { 
    isSelected = 1 ; 
    Log.e("Checkbox is checked" , ""+isSelected); 
    } else { 
    isSelected = 0 ; 
    Log.e("Checkbox is unchecked" , ""+isSelected); 
    } 

就这么简单。

+0

谢谢....我会尝试这 –

+0

其不工作...而检查复选框其他方法不叫 –

+0

如果你选中您的值设置为1的复选框,如果取消选中复选框,则您的值设置为0. – KishuDroid

2

我猜你有一个未经检查的复选框在开始。如果不是,则可以相应地初始化isSelected的值。你需要像这样处理onClick

final boolean isSelected = false; 
     checkBox_onEventDay.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       if(isSelected) { 
        isSelected = false; 
        // now check box is unchecked 
       } else { 
        isSelected = true; 
        // now the checkbox is checked 
       } 
      } 
     }); 
+0

什么是我的问题是..虽然点击复选框,我会设置4个属性,如类型ID ,选择,日期...我将这些细节添加到数据库(选中= 1)...在更新时,如果我取消选中已经点击的复选框意味着我需要设置isselected = 0; –

+0

好的,那么你也需要记录你的复选框在哪些位置被切换,然后为这些位置做所需的工作。 –

相关问题