android PreferenceActivity和Activity

今天测试我的一个程序,程序老被ForceColsed.我的程序是这样的,通过MainActivity进入主界面,主界面的一些UI数据是通过

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);

 prefs.getString("pre_now_week", null)

取得的。

问题来了,当我把程序安装在手机上时,通过主界面,进去,ForceClosed了。最后我通过

Log.e("care", prefs.getString(prefer_key, "is null"));

打印出,is null.意思是根本没有些数据。

 

最后,我明白了SharedPreferences即然是用户首选项 ,所以应该在主程序运行之前被调用,这时

<EditTextPreference
    android:key="pre_now_week"
    android:title="默认值为:1"
    android:summary="单击可进行修改"
    android:defaultValue="1"
   
    />

android:defaultValue="1"
默认值才会生效。

 

但奇怪的是,运行过PreferenceActivity的时候,我把程序重新安装,是不需要预先PreferenceActivity再MainActivity的,而是MainActivity再PreferenceActivity是不会报错的。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值