Android registerOnSharedPreferenceChangeListener () provoca un bloqueo en una vista personalizada

Cada vez que intento agregar esta línea, se bloquea mi aplicación. ¿No lo estoy poniendo en el lugar correcto?

    preferences.registerOnSharedPreferenceChangeListener(myActivity.this);

Aquí está mi clase

class Simulation extends View {

    // I declare my program variables here
    public Simulation(Context context) {
        super(context);
        // get the preferences
        SharedPreferences preferences = PreferenceManager
                .getDefaultSharedPreferences(context);
        preferences
                .registerOnSharedPreferenceChangeListener(myActivity.this);
        String storedPreference = preferences.getString("nPref", "0");
    }

    public void onSharedPreferenceChanged(
            SharedPreferences sharedPreferences, String key) {
        Log.i(TAG, "preferences changed!");
    }
}

¡Gracias

Respuestas a la pregunta(2)

Su respuesta a la pregunta