我想在共享首選項的不同事件中存儲不同的值。爲什麼我的共享首選項值被覆蓋?
例如。我有一個切換按鈕,這臺profilevisibility
開啓和關閉,所以如果我檢查的切換按鈕,它應存儲profilevisibility
值爲1
現在我也有有另一種切換按鈕,這臺matchPreference
開啓和關閉,所以,如果我取消這個切換按鈕,它應設置matchPreference
價值爲0
發生的事情是,當我設置profileVisibility
爲ON,它保存值1,但是,現在如果我設置MatchPreference
到OFF時,它也將值保存爲0,但也會覆蓋其他值。
這就是所謂的我的代碼上的OnCreate在活動
HashMap<String, String> profileVisibility = session.getProfileVisibility();
profilevibility_value =profileVisibility.get(UserSessionManager.KEY_VISIBILITY);
HashMap<String, String> discoverability = session.getDiscoverablity();
discoverability_value = discoverability.get(UserSessionManager.KEY_DISCOVER);
HashMap<String, String> listmatches = session.getListMatches();
listmatches_value = listmatches.get(UserSessionManager.KEY_MATCH);
值會被覆蓋所有三個變量在這裏,爲什麼呢?
這些都是我存儲在我的會話管理器獲取值每個鍵
public static final String KEY_VISIBILITY = "1";
public static final String KEY_DISCOVER = "1";
public static final String KEY_MATCH = "1";
public void StoreProfileVisiblity(String male){
editor.putString(KEY_VISIBILITY, male);
editor.commit();
}
public void StoreDiscoverablity(String status){
editor.putString(KEY_DISCOVER, status);
editor.commit();
}
public void StoreListMatches(String match){
editor.putString(KEY_MATCH, match);
editor.commit();
}
public HashMap<String, String> getProfileVisibility(){
HashMap<String, String> mpv = new HashMap<String, String>();
mpv.put(KEY_VISIBILITY, pref.getString(KEY_VISIBILITY, null));
return mpv;
}
public HashMap<String, String> getDiscoverablity(){
HashMap<String, String> dv = new HashMap<String, String>();
dv.put(KEY_DISCOVER, pref.getString(KEY_DISCOVER, null));
return dv;
}
public HashMap<String, String> getListMatches(){
HashMap<String, String> lmv = new HashMap<String, String>();
lmv.put(KEY_MATCH, pref.getString(KEY_MATCH, null));
return lmv;
}
UserSessionManager.KEY_VISIBILITY,UserSessionManager.KEY_DISCOVER和UserSessionManager.KEY_MATCH中有什麼值? – skabir
這些值將根據活動進行設置。例如。 session.StoreDiscoverability( 「1」)。默認情況下,我已經設置爲1,如果它的話,那麼它的1或者其設置爲0 – Veer3383
我的問題是 - 你在這些鍵上分配了什麼? – skabir