사용자 정의 대화 상자를 한 번만 표시하려고합니다. 첫째로 나는 사용자 정의 대화 상자가 내가 확인 버튼을 클릭하고 내가 SharedPreference
onclick 버튼으로 한 번만 사용자 정의 대화 상자 표시
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