2012-08-22 84 views
0

假设小部件使用登录名和密码来检索某些数据。我在sharedPreferences中存储登录名和密码。小部件的Android偏好设置

一切正常,只要我有1个部件。当我将第二个widget登录名和pwd添加到sharedPreferences中时,都替换了这两个小部件。

什么是这个问题>

回答

1

在通常情况下,典型的解决方案,对于一个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, ""); 
} 

希望这有助于。