简体   繁体   中英

Button not enabled when radio group are selected

  @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_quiz);
        Dbb db=new Dbb(this);
        quesll=db.getAllQuestions();
        currentQ=quesList.get(qid);
        txtresult=(TextView)findViewById(R.id.textView2);
        txtQuestion=(TextView)findViewById(R.id.textView1);
        radiobuttona=(RadioButton)findViewById(R.id.radio0);
        radiobuttonb=(RadioButton)findViewById(R.id.radio1);
        buttonnext=(Button)findViewById(R.id.button1);
        buttonnext.setEnabled(false);
        setQuestionView();
        buttonnext.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                RadioGroup group = (RadioGroup) findViewById(radioGroup);
                RadioButton answer = (RadioButton) findViewById(grp.getCheckedRadioButtonId());
               if (group .isSelected()){
                   butNext.setEnabled(true);
               }

Why button not set enabled, when radio group are selected?

This code will work!!

public class Sample extends Activity {

    private RadioGroup radioGroup;
    private RadioButton radioButtonmale, radioButtonfemale;
    private Button btnDisplay;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_stackover);

        addListenerOnButton();

    }

    public void addListenerOnButton() {

        radioGroup = (RadioGroup) findViewById(R.id.radioSex);
        btnDisplay = (Button) findViewById(R.id.btnDisplay);
        btnDisplay.setEnabled(false);
        radioButtonmale = (RadioButton) findViewById(R.id.radioMale);
        radioButtonfemale = (RadioButton) findViewById(R.id.radioFemale);
        radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {

            @Override
            public void onCheckedChanged(RadioGroup group, int checkedId) {
                int id = radioGroup.getCheckedRadioButtonId();
                View radioButton = radioGroup.findViewById(id);
                if (radioButton.getId() == R.id.radioMale) {
                    btnDisplay.setEnabled(true);
                } else {
                    btnDisplay.setEnabled(true);
                }
            }
        });

    }
}

I think the problem is here:

butNext.setEnabled(true);

You don't have a button called "butNext".

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM