Skip to content Skip to sidebar Skip to footer

Android Checkbox Listen For Click Before Change

I have a requirement where a checkbox is displayed for a specific setting. When the user taps on the checkbox, I want to display an alert dialog. The checkbox should then only chan

Solution 1:

you can use onTouchListener and intercept ACTION_DOWN event for showing alert. on users choice change checked state of you checkbox programatically.

example:

checkbox.setOnTouchListener(new OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        if(event.getAction() == MotionEvent.ACTION_DOWN){

            //show alert
            return true; //this will prevent checkbox from changing state
        }
        return false;
    }
});

then call checkbox.setChecked(true); or checkbox.setChecked(false); as user selects yes or no.`


Solution 2:

Use this:

checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                // TODO Auto-generated method stub
                if(isChecked==true){
                   //Show your alert

                    }
                }else if(isChecked==false){
                    //Show your alert
                }
            }
        });

Solution 3:

If would suggest to use an OnTouchListener on the checkbox. If your condition is fulfilled then you can call checkBox.performClick().


Solution 4:

You can try it;

checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener()
    {
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
        {
            if ( isChecked )
            {
                // do anything
                // perform logic
            }

        }
    });

Solution 5:

You can set onClickListener and set checkbox's checked state accordingly.

    myCheckBox.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // createYourDialog
            // onPositiveButtonClicked
            myCheckBox.setChecked(true);
            // onNegativeButtonClicked
            myCheckBox.setChecked(false);

            // yourDialog.show();
        }
    });

Post a Comment for "Android Checkbox Listen For Click Before Change"