我正在编写一个通过Wi-Fi驱动机器人的应用程序。我有一个单独的库模块,其中包含要在我的设置中使用的自定义首选项,例如数字选择器首选项。
我想开发一个“ResetToDefault”首选项。但我希望有机会选择我想要重置的值。我扩展了DialogPreference并在对话框中添加了一些复选框。
我想在这个功能中实现它
protected void onDialogClosed(boolean positiveResult){
if(positiveResult){
if (Box1.isChecked()) {
//make reset of the preference, which name is diplayed near checkbox
}
有可能吗? 如何访问整个应用程序的SharedPreferences,而不仅仅是该模块?
当我将这个偏好设置在app模块中时会更容易,但有没有办法避免这种情况?
答案 0 :(得分:0)
提供上下文(Application,Activity,..)然后您可以在任何自己的类中访问SharedPreferences
Context context = getActivity();
SharedPreferences sharedPref = context.getSharedPreferences(
getString(R.string.preference_file_key), Context.MODE_PRIVATE);
更多示例:https://developer.android.com/training/data-storage/shared-preferences.html#java