Home > Net >  How to dismiss cardview after click the Agree Button
How to dismiss cardview after click the Agree Button

Time:01-08

I created a cardview for the prominent disclose everything works fine but after click agree button the cardview not dismissing.

When the user click the agree button it will go to activity : startActivity(new Intent("android.settings.ACCESSIBILITY_SETTINGS"));

If the user click the disagree button it will go to activity : startActivity(new Intent(getActivity(), MainTabActivity.class));

But in the Agree button after accessibility turned on and when user back to the app still the cardview showing. So, how to disable the cardview when the user clicked agree button and at the same time the user need to reach "android.settings.ACCESSIBILITY_SETTINGS" this.

please check the code below:

private void checkAccesibleDialog() {
        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
        LayoutInflater inflater = this.getLayoutInflater();
        View dialogView = inflater.inflate(R.layout.consent_dialog, null);
        CheckBox mCheckBox= dialogView.findViewById(R.id.checkBox);
        Button mButton = dialogView.findViewById(R.id.button1);
        Button mButton2 = dialogView.findViewById(R.id.button2);
        builder.setCancelable(false);
        builder.setView(dialogView);
        mButton.setOnClickListener (new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                startActivity(new Intent("android.settings.ACCESSIBILITY_SETTINGS"));
                startActivity(new Intent(getActivity(), TransparentActivity.class));
            }
        });
        mButton2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                startActivity(new Intent(getActivity(), MainTabActivity.class));
            }
        });
        AlertDialog dialog = builder.create();
        dialog.getWindow().setBackgroundDrawableResource(android.R.color.transparent);
        dialog.show();
        mButton.setEnabled(false);

        mCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
                if (mCheckBox.isChecked()) {
                    mButton.setEnabled(true);
                } else {
                    mButton.setEnabled(false);
                }

            }
        });
    }

CodePudding user response:

Create dialog first

builder.setView(dialogView);
AlertDialog dialog = builder.create();

Then, in onClick

mButton.setOnClickListener (new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        dialog.dismiss();
        startActivity(new Intent("android.settings.ACCESSIBILITY_SETTINGS"));
    }
});

CodePudding user response:

You can call dialog.dismiss() method after the button click to dismiss the dialog box

  • Related