Я получаю ошибку компилятора не может разрешить метод findPreference, когда я пытаюсь инициализировать прослушиватель OnSharedPreferencesChanged
в моей MainActivity. Согласно ответу here:Не удается разрешить findPreference() из MainActivity?
findPreference() должен быть вызван из класса, реализующего интерфейс PreferenceActivity
, но я не понимаю, что код, чтобы сделать это было бы. Как я могу избавиться от ошибки компилятора и успешно установить прослушиватели для изменений предпочтений?
MainActivity.java
public class MainActivity extends FragmentActivity implements SharedPreferences.OnSharedPreferenceChangeListener {
private SharedPreferences.OnSharedPreferenceChangeListener listener;
@Override
protected void onCreate(Bundle savedInstanceState) {
...
//Test preference menu
listener = new SharedPreferences.OnSharedPreferenceChangeListener() {
public void onSharedPreferenceChanged(SharedPreferences prefs, String key) {
if (key.equals("pref_wood")) {
Preference woodPref = findPreference(key); //COMPILER ERROR HERE
MainActivity.getGLSurfaceView().setTexture("");
// Set summary to be the user-description for the selected value
woodPref.setSummary(sharedPreferences.getString(key, ""));
}
}
}
}
}