2011-09-17 115 views
7

我有兩個活動AB。活動A有一個表單,並通過點擊提交按鈕它將表單數據保存到共享偏好。活動B必須從活動A保存的共享首選項中檢索數據。我經歷了這麼多的論壇,並得到了使用getSharedPreference(Filename,Mode)而不是getPreference(Mode)的建議。但仍然無效。有沒有其他方法可以完成這項工作,而不是在活動A中創建一個類,專門用於提取公共偏好值供公衆使用。如何訪問android中的活動之間的共享偏好?

請爲此提出一個完美的解決方案。我甚至使用了WORLD_READABLE模式。

+0

請發佈您保存SharedPreferences的代碼。 –

+0

請檢查我的代碼 - http://pastebin.com/0W64gnEt。請在我的代碼中搜索單詞「XYZ12345」,並將我的問題寫入評論。我會被迫得到解決方案。謝謝 –

回答

3

我認爲問題在於編輯器實際上沒有提交更改,因爲您打開SharedPreferences

SharedPreferences.Editor editor = getSharedPreferences("udata",MODE_WORLD_READABLE).edit(); 

變化MODE_WORLD_READABLEContext.MODE_PRIVATE,看看有沒有什麼幫助。

+0

servState = 1; editor.putInt(「AppState」,servState); editor.commit();我已經對上面的代碼進行了修改。最初我只使用了MODE_PRIVATE,但由於它不起作用,我使用了MODE_WORLD_READABLE模式。任何其他建議請 –

+0

您應該調試提交代碼,確保mPwd.getText()。toString()不返回null,並確保提交正在工作。 –

+0

我有同樣的問題,當我開始活動時,返回onresume()調用「pref.getBoolean(Constant.PREF_KEY,true)」或startactivity(...);完(); – vuhung3990

0

有一些初始化問題。現在我得到了解決方案。感謝您的支持