0
假设小部件使用登录名和密码来检索某些数据。我在sharedPreferences中存储登录名和密码。小部件的Android偏好设置
一切正常,只要我有1个部件。当我将第二个widget登录名和pwd添加到sharedPreferences中时,都替换了这两个小部件。
什么是这个问题>
假设小部件使用登录名和密码来检索某些数据。我在sharedPreferences中存储登录名和密码。小部件的Android偏好设置
一切正常,只要我有1个部件。当我将第二个widget登录名和pwd添加到sharedPreferences中时,都替换了这两个小部件。
什么是这个问题>
在通常情况下,典型的解决方案,对于一个AppWidget所述唯一标识符是一个appWidgetId。所以你可以这样组织你的偏好。
假设您有用于存储登录的关键:
public static final String PREFS_LOGIN = "com.example.prefs.LOGIN";
和两个方法来存储的价值,找回它:
public void setLogin(String login) {
prefs.edit().putString(PREFS_LOGIN, login).commit();
}
public String getLogin() {
return prefs.getString(PREFS_LOGIN, "");
}
为了保证每个appWidgetId喜好商店登录值并找回正确的一个,你可以通过appWidgetId这些方法:
public void setLogin(String login, int appWidgetId) {
prefs.edit().putString(PREFS_LOGIN + appWidgetId, login).commit();
}
public String getLogin(int appWidgetId) {
return prefs.getString(PREFS_LOGIN + appWidgetId, "");
}
希望这有助于。