0
我有我从服务调用的这段代码。从SharedPreferences获取价值的问题
prefs = getSharedPreferences(homeConfigure.APP_PREF_NAME, Context.MODE_PRIVATE);
city = prefs.getString(CITY + appWidgetId,"nothing");
它返回存储的正确值。但随后通过服务类中的AlarmManager调用该服务将返回值“Nothing”。
什么可能是错的?
我保存在homeConfigure活动这样的:
city = cityText.getText().toString();
Editor editor = prefs.edit();
editor.putString(CITY + appWidgetId,city);
editor.commit();
并从意图在OnCreate(配置类的插件首先加入时获得appwidget):
appWidgetId = extras.getInt(AppWidgetManager.EXTRA_APPWIDGET_ID,AppWidgetManager.INVALID_APPWIDGET_ID);
它似乎没有工作。我做了prefs = preferenceManager.getDefaultSharedPreference(homeConfigure.self)。自我就是自我= this;在homeConfigure类中。但它似乎并不奏效。 – Rexx 2011-04-21 17:29:38
@Rexx你如何初始化你的appWidgetId和CITY? – Guy 2011-04-21 17:49:28
不确定你的意思,但正如我所说,它来自配置活动。我的appWidgetId(ApPWidgetManager.Extra_APPWIDGET_ID)是从intent获得的,而CITY是来自EditText。我已经添加了如何将它们保存在 – Rexx 2011-04-21 19:43:50