访问模块

时间:2018-03-18 13:36:01

标签: android module sharedpreferences

我正在编写一个通过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模块中时会更容易,但有没有办法避免这种情况?

1 个答案:

答案 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