基本上,我正在製作一個計算不同金額複合利息的應用程序。如果你願意,還有2個'共享首選項'。導致默認值的多個共享首選項
設置 - 用戶輸入利率,複利頻率,長期
喜好 - 爲應用程序設置(如顯示美分與否,設置背景色)
我遇到的程序是,當我有一套偏好,它工作得很好。然而,當我有兩個(當我創建'首選項')時,它混淆了第一個設置首選項,稱爲'設置'。
此外,每當它檢索到它的首選項時,它就在一個片段中。
這裏是我是如何得到的偏好(當我沒有足夠的2偏好XML的):
SharedPreferences getSetup = PreferenceManager.getDefaultSharedPreferences(getActivity().getBaseContext());
String t2 = getSetup.getString("rate", null);
這裏是我試過的解決方案(如打開特定文件,然後當然使用getSetup或getPrefs .getString( 「鍵,空」) - 它沒有工作,總是返回默認值)
SharedPreferences getPrefs = getActivity().getSharedPreferences("preferences",0);
和設置
SharedPreferences getSetup = getActivity().getSharedPreferences("setup",0);
每當我運行應用程序,我得到我的錯誤消息(「請正確設置應用程序,並輸入所有瓦萊斯」)此錯誤消息是建立與下面的代碼運行:
SharedPreferences getSetup = getActivity().getSharedPreferences("setup",0);
int t1 = value1.getText().length();
int t1_2 = value2.getText().length();
String t2 = getSetup.getString("rate", null);
String t3 = getSetup.getString("retirement", null);
String t4 = getSetup.getString("compounds", null);
String t5 = result.getText().toString();
if (t1 == 0 ||t1_2 ==0 || t2 == null || t3 == null || t4 == null) {
//show the error message
可有人請告知我做錯了什麼,以及如何獲得特定的偏好設置。
乾杯
我得到錯誤'方法getApplicationContext()未定義爲類型new View。OnClickListener(){}',或者如果我在開始時使用它,方法getApplicationContext()對於FragmentNormal類型是未定義的 – andrew
您可以在獲取上下文的位置顯示更多代碼嗎?並顯示類聲明。 –
公共類FragmentNormal擴展片段,我嘗試了你的解決方案,但與getActivity()。getApplicationContext(),應用程序退出時,它試圖返回一個值。在上下文中,我始終在使用(getActivity()。getBaseContext())之前,我有兩個單獨的首選項文件 – andrew