0

我正在开发一个 android 主屏幕应用程序小部件。

我正在尝试向小部件添加首选项。我可以放置多个小部件。但我想使用动态创建的共享首选项配置首选项。

如何从资源文件中加载首选项,该文件从 sharedpreference 中获取值并更新它?

有什么建议吗?

4

2 回答 2

4

问题的关键在于以某种方式使用 PreferenceActivity 保存的设置作为参考并创建自己的设置。下面是我用来实现对具有单个 PreferenceActivity 的应用小部件的多个实例进行多个设置的方法。

private void onExitPreferenceActivity(Context context, int appWidgetId) {
    // Load the user selected settings saved by PreferenceActivity
    final String SETTING_PREFIX = "COLOR";
    final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
    final String colorSetting = prefs.getString(SETTING_PREFIX, "");
    // Save the setting of the current widget with widget ID as the postfix
    final SharedPreferences.Editor prefEditor = prefs.edit();
    prefEditor.putString(SETTING_PREFIX + String.valueOf(appWidgetId), colorSetting);
    prefEditor.commit();
}

private void onLoadingWidgetSetting(Context context, int appWidgetId) {
    // Load the setting of a particular widget given a widget ID
    final String SETTING_PREFIX = "COLOR";
    final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
    final String colorSetting = prefs.getString(SETTING_PREFIX + String.valueOf(appWidgetId), "");
    // Use the loaded setting
    // ....
}
于 2012-01-23T09:38:43.427 回答
0

也许尝试在 filesys 的某个地方编写您自己的偏好系统。只是建议

于 2011-01-19T11:30:00.307 回答