Java 只显示一次对话框

Java 只显示一次对话框,java,android,show,Java,Android,Show,我有一个对话框窗口,必须打开容器和两个单击侦听器来关闭对话框 我希望我只显示一次,我使用这个代码,但它根本不显示 有什么帮助吗 假设setting.getStringdialogShow,0表示类似getStringname、defaultValue的内容,那么如果尚未设置首选项,则默认值为0,这意味着该对话框将永远不会显示一次。也许您的意思是setting.getStringdialogShow,1。您试过调试您的应用程序吗?为什么要使用字符串,这让人困惑。。为什么不保存有意义的布尔值,显示前

我有一个对话框窗口,必须打开容器和两个单击侦听器来关闭对话框 我希望我只显示一次,我使用这个代码,但它根本不显示

有什么帮助吗


假设setting.getStringdialogShow,0表示类似getStringname、defaultValue的内容,那么如果尚未设置首选项,则默认值为0,这意味着该对话框将永远不会显示一次。也许您的意思是setting.getStringdialogShow,1。

您试过调试您的应用程序吗?为什么要使用字符串,这让人困惑。。为什么不保存有意义的布尔值,显示前为假,显示后为真?/谢谢!!但我的问题是设置一个空的sharedpfs
    SharedPreferences setting = getSharedPreferences("dialogprefs", 0);
    final SharedPreferences.Editor editor = setting.edit(); 
    {
           final Dialog dialog = new Dialog(this);
            dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
            dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
            dialog.setContentView(R.layout.hint1);
            dialog.setCanceledOnTouchOutside(true);
            dialog.setTitle("Hint");
            View masterView = dialog.findViewById(R.id.LinearLayout1);
            masterView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    dialog.dismiss();
                    editor.putString("dialogshow", "0".toString());
                    editor.commit();
                }
            });
                View masterView1 = dialog.findViewById(R.id.imageView1);
                masterView1.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        dialog.dismiss();
                        editor.putString("dialogshow", "0".toString());
                        editor.commit();
                    }
            });
            if (setting.getString("dialogshow" , "0").equals("0")) {
                dialog.dismiss();
            }
            else {
            dialog.show();  
            }
    }