安卓实现“今天不再弹出”功能?

如题,具体的场景我慢慢道来:
我使用的第三方dialog库:XPOpup,此类默认的弹窗可交互控件就两个按钮。我做了个自定义的xml弹窗布局,而且我想在此弹窗弹出后设置今日不再弹出功能。

👇这是我写的弹窗xml

img


默认可设置的只有标题、内容、按钮1和按钮2(还有两个按钮的点击事件)。
现在我想把“今天不再弹出”加上去,并且当用户选择“不再弹出”选择框,并且点击任意按钮后,存入本地一个数据,下次进入这个界面的时候读取该数据,以此判断该不该弹出弹窗。
我尝试过用LayoutInfalter,这是我的代码:

 CheckBox bztc;
                        @SuppressLint("InflateParams") View root = LayoutInflater.from(MainActivity.this).inflate(R.layout.dialog_diy2, null);
                        bztc = root.findViewById(R.id.buzaitanchu);

                        new Thread() {
                            public void run() {
                                runOnUiThread(() -> {
                                    //更新UI
                                    bztc.setText("不再提醒");
                                });
                            }
                        }.start();

没有报错(编译时和运行时都没报错),但是就是没有效果。
这是效果图👇

img


求解答!!

用 SharedPreferences 保存一个字符串。当用户没有勾选 “今日不在弹出” 点击确定,把这个字符串置为空字符串,当用户勾选 “今日不在弹出” 然后点击确定则保存一下点击确定的时间。每次要进入弹出逻辑时候,取出这个字符串判断一下,如果为空字符串或者当前日期超过保存日期就弹出,如果没有超过就不弹。。。。
dialog 样式可以自定义一个dialog,然后使用你写好的xml文件,在自定义的dialog里面初始化你的View,做事件监听,例如这样:


public abstract class TitleMessageDialog extends BaseDialog {
    private TextView tv_title,tv_message,tv_1,tv_2;
    private RelativeLayout rl_btn1,rl_btn2;
    public TitleMessageDialog(Context context, String title, String message, String btnName1, String btnName2) {
        super(context);
        setContentView(R.layout.dialog_title_message_2btn);
        tv_title = findViewById(R.id.tv_title);
        tv_title.setText(title);
        if (TextUtils.isEmpty(title)){
            tv_title.setVisibility(View.GONE);
        }else {
            tv_title.setVisibility(View.VISIBLE);
        }
        tv_message = findViewById(R.id.tv_message);
        tv_message.setText(message);

        tv_1 = findViewById(R.id.tv_1);
        tv_1.setText(btnName1);
        tv_2 = findViewById(R.id.tv_2);
        tv_2.setText(btnName2);
        rl_btn1 = findViewById(R.id.rl_btn1);
        rl_btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                btn1Click();
            }
        });
        rl_btn2 = findViewById(R.id.rl_btn2);
        rl_btn2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                btn2Click();
            }
        });
    }
    public abstract void btn1Click();
    public abstract void btn2Click();
}