我正在开发一个Android主屏幕应用程序小部件。
我正在尝试向窗口小部件添加首选项。我可以放多个小部件。但我想使用动态创建的共享首选项配置首选项。
如何从资源文件中加载首选项,该资源文件从共享首选项中获取值并更新它?
任何建议?
答案 0 :(得分:3)
问题的关键是以某种方式使用PreferenceActivity保存的设置作为参考并创建您自己的设置。以下是我曾经使用单个PreferenceActivity为多个app小部件实例设置多个设置。
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
// ....
}
答案 1 :(得分:0)
也许尝试在filesys上的某个地方编写自己的偏好系统。 只是建议