Как использовать одно действие предпочтения для нескольких экземпляров виджетов? - PullRequest
0 голосов
/ 31 декабря 2010

Я работаю над виджетом приложения для домашнего экрана Android.

Я пытаюсь добавить настройки в виджет.Я могу поставить несколько виджетов.но я хочу настроить его с помощью предпочтений, использующих общие предпочтения, создаваемые динамически.

как я могу загрузить предпочтение из файла ресурсов, который выбирает значение из разделяемой настройки и также обновляет его?

Ответы [ 2 ]

3 голосов
/ 23 января 2012

Ключ к проблеме заключается в том, чтобы каким-то образом использовать параметр, сохраненный 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
    // ....
}
0 голосов
/ 19 января 2011

возможно, попытайтесь написать свою собственную систему настроек, возможно, где-нибудь на filesys.просто предлагаю

...