作者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://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1412242462.A.7C3.html
1F:→ nanashi07: 字串用 == ? 用equal吧 10/02 17:47
2F:→ justbearcry: 改用equal结果一样...... 10/02 17:51
3F:→ ckvir: 你用equal的写法是怎写? 10/02 18:13
4F:→ ckvir: 另外你的"on" 後面的双引号怪怪的 不知道是不是这个问题 10/02 18:18
最後照着c大的写就成功了!!! 谢谢两位
只是为什麽如果用==只有第一次会失败?
※ 编辑: justbearcry (140.113.149.193), 10/02/2014 20:22:16
6F:推 charlesdc: 你的share_prefs有存预设值吗?没有当然预设是你打的off 10/03 04:26
7F:→ charlesdc: 看错...... 你的share_prefs用什麽存? commit? apply? 10/03 04:29
8F:→ justbearcry: 用commit 10/04 10:20