2012-04-27 47 views
0

我能够在共享偏好这种方式链接到一个活动:Android的负载SharedPreferences的工具到偏好活动

Intent intent = getIntent(); 
Bundle extras = intent.getExtras(); 
if (extras != null) appWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID, 
               AppWidgetManager.INVALID_APPWIDGET_ID); 

if (appWidgetId == AppWidgetManager.INVALID_APPWIDGET_ID) finish(); 

SharedPreferences pref = getSharedPreferences("Widget"+appWidgetId, 0); 

在我的优先应用,我可以通过访问显示首选项的配置对话框:

getPreferenceScreen().getSharedPreferences(); 

这些首选项未链接到一个小部件,但全球性的。我如何将显示在我的首选项活动中的首选项更改为与窗口小部件对齐的首选项?

我想手动设置共享参数文件:

PreferenceManager localPrefs = getPreferenceManager(); 
    localPrefs.setSharedPreferencesName("GITC_Prefs"); 

这导致空指针异常,当我尝试通过

PreferenceActivity.getPreferenceScreen(); 

回答

3

访问共享的首选项要访问相同的两个SharedPreferences您需要为PreferencesActivity.getPreferenceManager().setSharedPreferencesName(name)Activity.getSharedPreferences(name, 0)指定相同的名称。您目前在第一种情况下指定了“Widget”+ appWidgetId,第二种情况下指定了“GITC_Prefs”

+0

对,愚蠢的错误:p – Anthea 2012-05-04 08:46:40