sushiwu / fanfoudroid

Automatically exported from code.google.com/p/fanfoudroid
0 stars 0 forks source link

Preferences处理bug #80

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
今天在调试提醒服务时发现一个bug
用户在初次使用安能饭否时,在还没有点击option 
menu里的Preferences时,程序不会初始化一些Preferences参数。这就
导致BaseActivity里的manageUpdateChecks()方法再调用boolean isEnabled = 
mPreferences.getBoolean(Preferences.CHECK_UPDATES_KEY, 
false);时永远得到默认值false。 
TwitterService.schedule(this);就永远不会执行。

原因是目前程序是在
case OPTIONS_MENU_ID_PREFERENCES:
      Intent launchPreferencesIntent = new Intent().setClass(this,
          PreferencesActivity.class);
      startActivityForResult(launchPreferencesIntent, REQUEST_CODE_PREFERENCES);
      return true;
点击option menu的Preferences时才初始化参数。

建议在别的地方初始化Preferences参数。

Original issue reported on code.google.com by PHOENIX....@gmail.com on 20 Apr 2011 at 9:45

GoogleCodeExporter commented 8 years ago
Preference应该是在TwitterApplication.onCreate中调用
mPref = PreferenceManager.getDefaultSharedPreferences(this);
时被初始化的,这个是不是再确认一下问题所在?

Original comment by ch.lin...@gmail.com on 22 Apr 2011 at 1:42

GoogleCodeExporter commented 8 years ago
mPref = 
PreferenceManager.getDefaultSharedPreferences(this);的具体作用是干什么�
��我还不太清楚。但是我在com.ch_linghu.fanfoudroid.PreferencesActivity
里的addPreferencesFromResource(R.xml.preferences);方法前Log了一下。只�
��在菜单点设置时才调到这里。addPreferencesFromResource这个方法�
��是初始化xml里默认设置的地方吧

Original comment by PHOENIX....@gmail.com on 23 Apr 2011 at 7:04