i now had a problem with an OnSharedPreferenceChangeListener multiple times. The problem was: it just never got called. I had a PreferenceActivity to manage the settings and i wanted to get notified in my main Activity when something changed. But my listener never was called.
Recently i found the answer to that problem on StackOverflow. The thing is that the SharedPreference keeps its listeners in a WeakHashMap. Which leads to the inability to use a nested inner class a the listener since it will be garbage collected.
So the solution to that problem is just storing the listener in a private variable like this:
private OnSharedPreferenceChangeListener prefListener;
And everything will work just fine 🙂
4 Antworten auf „Android OnSharedPreferenceChangeListener not called“
THANK YOU! It’s really dumb that that thing gets garbage collected. Seems kind of important.
Thanks for the english too– I never would have found this otherwise.
Hey great! I had the same problem… and here I found the solution. Thanks!
Great!Thanks.I slove the problem by you method.