从onSharedPreferenceChanged方法找不到RingTone键

时间:2014-04-02 04:55:42

标签: java android sharedpreferences android-preferences

我正在学习如何在Android中使用偏好设置。我有一个小应用程序,我想在其上设置一系列首选项,其中包括RingTonePreference。我的activity实现OnSharedPreferenceChangeListener并覆盖onSharedPreferenceChanged(SharedPreferences sharedPreferences,String key)方法来处理所有不同的首选项。

直到ringtone之前一切正常。我的问题似乎是找不到key的{​​{1}}而且我的代码从未输入ringTonePreference的{​​{1}}语句。

这是我的if方法:

ringTonePreference

这是我的onSharedPreferenceChanged

 public class preferenceActivity extends PreferenceActivity implements
    OnSharedPreferenceChangeListener {  
    // code here


@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
        String key) {

    if (key.equals("list_subject_pref")) {
        // do something
    } else if (key.equals("et_subject_pref")) {
                    // do something
    } else if (key.equals("list_times_pref")) {
        // do something

            // here is problem, it never enters the if statement why?
    } else if (key.equals("ringtonePref")) {
        RingtonePreference preference = (RingtonePreference) findPreference("ringtonePref");
        preference.setSummary("ringtone selected");
    }
  }
}

preferences.xml

我见过this question,但我仍然无法解决问题。

0 个答案:

没有答案