我制作了一个对话框。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
myDialog = new Dialog(this);
ShowDialog();
}
public void ShowDialog(){
nevershowagain = (CheckBox) findViewById(R.id.checkBox);
closedialog = (Button) findViewById(R.id.closedialog);
myDialog = new Dialog(this);
int width = (int)(getResources().getDisplayMetrics().widthPixels*0.90);
int height = (int)(getResources().getDisplayMetrics().heightPixels*0.90);
myDialog.getWindow().setLayout(width, height);
myDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
myDialog.setContentView(R.layout.activity_disclaimer);
closedialog.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (nevershowagain.isChecked()) {
prefrencestring = "1";
dialogPreferences = PreferenceManager.getDefaultSharedPreferences(context)
SharedPreferences.Editor editprefrences = dialogPreferences.edit();
editprefrences.putString("showdialog", prefrencestring);
editprefrences.commit();
}
myDialog.dismiss();
}
});
dialogPreferences = PreferenceManager.getDefaultSharedPreferences(context)
String check = dialogPreferences.getString("showdialog", "");
if (check.equals("1")) {
} else {
myDialog.show();
}
}
现在,我不知道在getDefaultSharedPreferences中放什么而不是上下文。。。有什么帮助吗?有人说我需要把活动的类别放进去,但我是新来的,我不知道这意味着什么。
您应该通过getApplicationContext()
这样,您将获得应用程序上下文的默认共享首选项。
getApplicationContext((应用程序上下文与应用程序关联,并且在整个生命周期中始终相同。