2010-12-31 5 views
0

Ich arbeite an einem android Startbildschirm App Widget.Wie verwendet man eine Präferenzaktivität für mehrere Instanzen der Widgets?

Ich versuche, dem Widget Präferenzen hinzuzufügen. Ich kann mehrere Widgets setzen. aber ich möchte es mit Voreinstellungen unter Verwendung der dynamisch erzeugten gemeinsamen Präferenz konfigurieren.

Wie kann ich die Voreinstellung aus der Ressourcendatei laden, die den Wert aus der gemeinsamen Voreinstellung holt und auch aktualisiert?

irgendein Vorschlag?

Antwort

0

vielleicht versuchen, Ihr eigenes Präferenzsystem vielleicht irgendwo auf filesys zu schreiben. nur suggerieren

3

Der Schlüssel zu dem Problem ist irgendwie die von PreferenceActivity als Referenz gespeicherte Einstellung zu verwenden und Ihre eigene Einstellung zu erstellen. Im Folgenden habe ich versucht, mehrere Einstellungen für mehrere Instanzen von App-Widgets mit einer einzigen PreferenceActivity vorzunehmen.

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 
    // .... 
} 
Verwandte Themen