2010-12-31 9 views
0

私はアンドロイドホームスクリーンアプリウィジェットに取り組んでいます。ウィジェットの複数のインスタンスに対して1つの嗜好アクティビティを使用する方法は?

ウィジェットに環境設定を追加しようとしています。私は複数のウィジェットを置くことができます。私は動的に作成された共有プリファレンスを使用してプリファレンスでそれを構成したいと思う。

sharedpreferenceから値を取り出して更新するリソースファイルからどのように設定を読み込むことができますか?

どのような提案ですか?

答えて

0

おそらくfilesysのどこかに自分の好みのシステムを書こうとします。 ちょっとお勧めします

3

問題の鍵は、何らかの理由で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 
    // .... 
} 
関連する問題