私は自分のカスタムダイアログを1回だけ表示しようとしています。まず私は、カスタムダイアログは、私は[OK]ボタンをクリックして、私はSharedPreference
カスタムダイアログをonclickボタンで1回だけ表示する
SharedPreferences.Editor editor;
SharedPreferences pref;
@SuppressLint("CommitPrefEdits")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
pref = getApplicationContext().getSharedPreferences("MyPref", 0);
editor = pref.edit();
editor.putBoolean("key_name", false);
/**/
if (pref.getBoolean("key_name", true)) {
users();
}
private void users() {
final Dialog myDialog = new Dialog(MainActivity.this);
myDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
assert myDialog.getWindow() != null;
myDialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
myDialog.setCancelable(false);
myDialog.setContentView(R.layout.users_artwork_dialog);
Button okbtn = myDialog.findViewById(R.id.okbtn);
okbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", 0);
@SuppressLint("CommitPrefEdits") SharedPreferences.Editor editor = pref.edit();
editor.putBoolean("key_name", false);
myDialog.dismiss();
}
});
myDialog.show();
}
のみ追加editor.commitを確認してください。 https://developer.android.com/training/data-storage/shared-preferences.html#ReadSharedPreference – Osgux