作者justbearcry (糯米)
看板AndroidDev
標題[問題] switch和sharedPreferences
時間Thu Oct 2 17:34:19 2014
事情是這樣子的,我在做鬧鐘有早中晚三個
然後點擊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
→ nanashi07: 字串用 == ? 用equal吧 10/02 17:47
→ justbearcry: 改用equal結果一樣...... 10/02 17:51
→ ckvir: 你用equal的寫法是怎寫? 10/02 18:13
→ ckvir: 另外你的"on" 後面的雙引號怪怪的 不知道是不是這個問題 10/02 18:18
最後照著c大的寫就成功了!!! 謝謝兩位
只是為什麼如果用==只有第一次會失敗?
※ 編輯: justbearcry (140.113.149.193), 10/02/2014 20:22:16
推 charlesdc: 你的share_prefs有存預設值嗎?沒有當然預設是你打的off 10/03 04:26
→ charlesdc: 看錯...... 你的share_prefs用什麼存? commit? apply? 10/03 04:29
→ justbearcry: 用commit 10/04 10:20