[問題] switch和sharedPreferences

看板AndroidDev作者 (糯米)時間9年前 (2014/10/02 17:34), 9年前編輯推噓1(107)
留言8則, 4人參與, 最新討論串1/1
事情是這樣子的,我在做鬧鐘有早中晚三個 然後點擊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 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.113.149.193 ※ 文章網址: http://www.ptt.cc/bbs/AndroidDev/M.1412242462.A.7C3.html

10/02 17:47, , 1F
字串用 == ? 用equal吧
10/02 17:47, 1F

10/02 17:51, , 2F
改用equal結果一樣......
10/02 17:51, 2F

10/02 18:13, , 3F
你用equal的寫法是怎寫?
10/02 18:13, 3F

10/02 18:18, , 4F
另外你的"on" 後面的雙引號怪怪的 不知道是不是這個問題
10/02 18:18, 4F

10/02 18:21, , 5F
不然就這樣寫看看 http://pastebin.com/sv8J0qiV
10/02 18:21, 5F
最後照著c大的寫就成功了!!! 謝謝兩位 只是為什麼如果用==只有第一次會失敗? ※ 編輯: justbearcry (140.113.149.193), 10/02/2014 20:22:16

10/03 04:26, , 6F
你的share_prefs有存預設值嗎?沒有當然預設是你打的off
10/03 04:26, 6F

10/03 04:29, , 7F
看錯...... 你的share_prefs用什麼存? commit? apply?
10/03 04:29, 7F

10/04 10:20, , 8F
用commit
10/04 10:20, 8F
文章代碼(AID): #1KBHmUV3 (AndroidDev)