当禁用复选框时Android禁用按钮

问题描述:

我有一个复选框和一个按钮。如果没有任何复选框是选中并启用按钮(如果选中),我该怎么做才能禁用按钮?当禁用复选框时Android禁用按钮

当您在该视图中输入时,禁用按钮(在您的XML中),并且每当用户点击任何复选框时管理一个全局变量,例如,如果全局计数为> 1,则在该活动中启用按钮启用。

管理全局变量的方式是,如果用户打开复选框然后增加它,如果他关闭复选框,则减少计数器。

我希望你明白了。

基本上所有关于管理计数有多少复选框打开;如果多于一个打开,则启用该按钮,否则将其禁用。

使用此:

myButton.setEnabled(false);  

详情请参阅this question

这种尝试,

Button mButton=(Button)findViewById(R.id.button01); 
    CheckBox mCheckBox= (CheckBox) findViewById(R.id.checkbox01); 
    mCheckBox.setOnCheckedChangeListener(new OnCheckedChangeListener() 
    { 
     public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) 
     { 
      if (isChecked) 
      { 
       mButton.setEnabled(true); 

      }else{ 
    mButton.setEnabled(false); 
} 

     } 
    }); 

您可以通过使用下面的代码禁用按钮。

mBtn.setEnabled(false); 

并且可以通过使用下面的代码

mBtn.setEnabled(true); 

代替启用和禁用按钮可以使用setVisibility(),用于按钮的方法稍后启用它。 按以下方式。

Button btn =(Button)findViewById(R.id.mybutton); 
CheckBox checkBox= (CheckBox) findViewById(R.id.checkbox01); 
mCheckBox.setOnCheckedChangeListener(new OnCheckedChangeListener() 
{ 
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) 
    { 
     if (isChecked) 
     { 
      btn.setVisibility(VISIBLE); 
     } 
      else{ 
       btn.setVisibility(GONE); 
       } 
    } 
}); 

通过使用这种方法,你可以设置你的view.Your按钮的可见性将是可见的只有复选框被cheaked否则你的按钮将不可visible.Let我知道它的工作原理或不适合你。

+0

当我使用这个 'checkBox.setOnCheckedChangeListener(新OnCheckedChangeListener(){ ...}'在我的代码中,出现此错误 'CompoundButton类型中的方法setOnCheckedChangeListener(CompoundButton.OnCheckedChangeListener)不适用于参数(new OnCheckedChangeListener() {})' 任何想法/帮助,我会失踪? – VikramV 2013-12-27 05:28:41

mCheckbox.setOnCheckedChangeListener(new OnCheckedChangeListener() {   
     @Override 
     public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
      mButton.setEnabled(isChecked); 
     } 
    }); 

就这么简单:)

试试这个 termsAndConditionsCheckBox.setOnClickListener(新OnClickListener(){

 @Override 
     public void onClick(View v) { 

      if (termsAndConditionsCheckBox.isChecked() && privacyPolicyCheckBox.isChecked()){ 
       agreebutton.setEnabled(true); 
       agreebutton.setTextColor(getResources().getColor(android.R.color.white)); 
       agreebutton.setBackgroundColor(getResources().getColor(android.R.color.holo_blue_light)); 
      } 
      else { 
       agreebutton.setEnabled(false); 
       agreebutton.setTextColor(getResources().getColor(android.R.color.white)); 
       agreebutton.setBackgroundColor(getResources().getColor(android.R.color.darker_gray)); 
      } 
     } 
    }); 
    privacyPolicyCheckBox.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      if (termsAndConditionsCheckBox.isChecked() && privacyPolicyCheckBox.isChecked()){ 
       agreebutton.setEnabled(true); 
       agreebutton.setTextColor(getResources().getColor(android.R.color.white)); 
       agreebutton.setBackgroundColor(getResources().getColor(android.R.color.holo_blue_light)); 
      } 
      else { 
       agreebutton.setEnabled(false); 
       agreebutton.setTextColor(getResources().getColor(android.R.color.white)); 
       agreebutton.setBackgroundColor(getResources().getColor(android.R.color.darker_gray)); 
      } 

     } 
    });