1
我有一个对话框窗口,它必须有容器和两个点击侦听器来关闭对话框 我希望我只显示一次,而我使用这段代码但它根本不显示它!只显示一次对话框
有帮助吗?
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(); } }
你有没有试过调试你的应用程序? – Tobrun
为什么你使用字符串,它的混淆..为什么你不保存布尔值,这将有意义,在它显示之前是假的,真正的后?/ –
谢谢!但我的问题是设置一个空的sharedprfs – Mahfa