[問題] switch和sharedPreferences

作者: justbearcry (justbearcry)   2014-10-02 17:34:19
事情是這樣子的,我在做鬧鐘有早中晚三個
然後點擊switch選擇是否開關後會利用SP記錄按下的是哪個,
利用pendingIntent 做一個alertDialog
接著我在alertDialog 判斷SP的值 決定dialog的標題
程式碼如下
SharedPreferences getAlarmDetail = PreferenceManager
.getDefaultSharedPreferences(getActivity());
switch (gotyou) {
case 1:
if (getAlarmDetail.getString("morningalarm", "off") == "on”)
{
.......
先別管gotyou是什麼值XD 我現在確定它可以跑進去case 1裡面
但是跑到if的時候 條件一直不成立,可是我用system.out印出是on
這樣不是應該要成立嗎?
而且會出錯的時候只有在開啟程式後第一次點switch時,第二次之後就
一切正常了,所以應該是沒有錯字那些的。
麻煩大家了。
我研究了好久可是還是覺得沒有錯啊Q__Q
作者: nanashi07 (NaNashi)   2014-10-02 17:47:00
字串用 == ? 用equal吧
作者: justbearcry (justbearcry)   2014-10-02 17:51:00
改用equal結果一樣......
作者: ckvir (ckvir)   2014-10-02 18:13:00
你用equal的寫法是怎寫?另外你的"on" 後面的雙引號怪怪的 不知道是不是這個問題不然就這樣寫看看 http://pastebin.com/sv8J0qiV
作者: charlesdc (MoOn)   2014-10-03 04:26:00
你的share_prefs有存預設值嗎?沒有當然預設是你打的off看錯...... 你的share_prefs用什麼存? commit? apply?
作者: justbearcry (justbearcry)   2014-10-04 10:20:00
用commit

Links booklink

Contact Us: admin [ a t ] ucptt.com