如上所述这里,我继承PreferenceFragment并显示它的活动中.该文档解释了如何在此处监听首选项更改,但前提是您将PreferenceActivity子类化.由于我不这样做,我如何监听偏好变化?
我已经尝试在我的PreferenceFragment中实现OnSharedPreferenceChangeListener但它似乎不起作用(onSharedPreferenceChanged似乎永远不会被调用).
到目前为止这是我的代码:
SettingsActivity.java
public class SettingsActivity extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
// Display the fragment as the main content.
getFragmentManager().beginTransaction().replace(android.R.id.content, new SettingsFragment()).commit();
}
}
Run Code Online (Sandbox Code Playgroud)
SettingsFragment.java
public class SettingsFragment extends PreferenceFragment implements OnSharedPreferenceChangeListener
{
public static final String KEY_PREF_EXERCISES = "pref_number_of_exercises";
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
// Load the preferences from an XML resource
addPreferencesFromResource(R.xml.preferences);
}
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key)
{
//IT NEVER GETS …Run Code Online (Sandbox Code Playgroud) android android-preferences sharedpreferences android-fragments android-activity
android ×1