我收到编译器错误无法解析方法findPreference当我尝试初始化我的MainActivity中的OnSharedPreferencesChanged
侦听器。根据答案here:无法从MainActivity解析findPreference()?
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, ""));
}
}
}
}
}