我上了课
public class Preferences extends PreferenceActivity implements OnSharedPreferenceChangeListener
mFoo.setTextColor(getResources().getColor(R.color.orange))
但它不起作用.它告诉我getResources不是静态的……我怎么能改变它?
解决方法
But it doesnt work,it tells me,getResources isnt static… how can i change?
这意味着您尝试从静态方法调用getResources(),而不是常规(实例)方法.在您的情况下,最简单的方法是,如果mFoo是TextView或其他一些小部件,则在小部件可用的Context上调用getResources():
mFoo.setTextColor(mFoo.getContext().getResources().getColor(R.color.orange));
但是,您尝试从静态方法引用名为mFoo的窗口小部件这一事实吓跑了我.这只是要求内存泄漏.我认为你真的需要重新考虑使用静态数据成员和方法.