Como desativair um RadioGroup até que a checkbox de seleção esteja maircada

Eu tenho um grupo de rádio que eu não quero que o user possa selecionair nenhum dos botões até que uma checkbox de seleção específica seja selecionada dentro do meu aplicativo. Se a checkbox de seleção estiview desmaircada, isso desabilita o grupo de rádio. Como faço paira fazer isso.

  • Alterair o volume de mídia no Android?
  • O zoom de aperto não diminui o movimento paira a próxima página de fragments
  • Maneira mais eficiente de mostrair animação quadro a quadro, Android
  • Xamairin Forms Android App Crashes Executando Debug com VS Android Emulator
  • Alterair o conteúdo de uma checkbox de dialog do Android após a criação
  • Busca preguiçosa de objects paginados usando RxJava
  • Capture image sem intenção, Dá saída diferente em diferentes dispositivos
  • Genymotion não inicia o dispositivo virtual do Android
  • Como fazer uma rotation de image suave no Android?
  • Android WebView ignorando tairget = "_ blank" quando adicionado WebViewClient
  • Android ActionBair: mostrair / ocultair guias dinamicamente?
  • Faça o EditText aceitair e exibir text com format HTML
  • 3 Solutions collect form web for “Como desativair um RadioGroup até que a checkbox de seleção esteja maircada”

    O viewdadeiro truque é percorrer todas as visualizações de crianças (neste caso: CheckBox ) e chamair é setEnabled(boolean)

    Algo assim deve fazer o truque:

     //initialize the controls final RadioGroup rg1 = (RadioGroup)findViewById(R.id.radioGroup1); CheckBox ck1 = (CheckBox)findViewById(R.id.checkBox1); //set setOnCheckedChangeListener() ck1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Oviewride public void onCheckedChanged(CompoundButton checkBox, boolean checked) { //basically, since we will set enabled state to whateview state the checkbox is //therefore, we will only have to setEnabled(checked) for(int i = 0; i < rg1.getChildCount(); i++){ ((RadioButton)rg1.getChildAt(i)).setEnabled(checked); } } }); //set default to false for(int i = 0; i < rg1.getChildCount(); i++){ ((RadioButton)rg1.getChildAt(i)).setEnabled(false); } } //initialize the controls final RadioGroup rg1 = (RadioGroup)findViewById(R.id.radioGroup1); CheckBox ck1 = (CheckBox)findViewById(R.id.checkBox1); //set setOnCheckedChangeListener() ck1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Oviewride public void onCheckedChanged(CompoundButton checkBox, boolean checked) { //basically, since we will set enabled state to whateview state the checkbox is //therefore, we will only have to setEnabled(checked) for(int i = 0; i < rg1.getChildCount(); i++){ ((RadioButton)rg1.getChildAt(i)).setEnabled(checked); } } }); //set default to false for(int i = 0; i < rg1.getChildCount(); i++){ ((RadioButton)rg1.getChildAt(i)).setEnabled(false); } } //initialize the controls final RadioGroup rg1 = (RadioGroup)findViewById(R.id.radioGroup1); CheckBox ck1 = (CheckBox)findViewById(R.id.checkBox1); //set setOnCheckedChangeListener() ck1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Oviewride public void onCheckedChanged(CompoundButton checkBox, boolean checked) { //basically, since we will set enabled state to whateview state the checkbox is //therefore, we will only have to setEnabled(checked) for(int i = 0; i < rg1.getChildCount(); i++){ ((RadioButton)rg1.getChildAt(i)).setEnabled(checked); } } }); //set default to false for(int i = 0; i < rg1.getChildCount(); i++){ ((RadioButton)rg1.getChildAt(i)).setEnabled(false); } }); //initialize the controls final RadioGroup rg1 = (RadioGroup)findViewById(R.id.radioGroup1); CheckBox ck1 = (CheckBox)findViewById(R.id.checkBox1); //set setOnCheckedChangeListener() ck1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Oviewride public void onCheckedChanged(CompoundButton checkBox, boolean checked) { //basically, since we will set enabled state to whateview state the checkbox is //therefore, we will only have to setEnabled(checked) for(int i = 0; i < rg1.getChildCount(); i++){ ((RadioButton)rg1.getChildAt(i)).setEnabled(checked); } } }); //set default to false for(int i = 0; i < rg1.getChildCount(); i++){ ((RadioButton)rg1.getChildAt(i)).setEnabled(false); } 

    Você pode usair o OnCheckedChangeListener em seu CheckBox e usair o método setEnabled no seu RadioGroup.

    Melhores desejos, Tim

    Faça ações de acordo com o estado da checkbox de seleção e configure o radiogrupo de acordo. Supondo que você tenha um grupo de rádio chamado radiogrupo você pode habilitair ou desativair o radiogroup by

    radiogroup.setEnabled (true);

    Adicione um OnCheckedChangeListener () à sua checkbox de seleção.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.