我上了课
public class Preferences extends PreferenceActivity implements OnSharedPreferenceChangeListener
Run Code Online (Sandbox Code Playgroud)
我试着从另一个类调用一个方法.该方法包含:
mFoo.setTextColor(getResources().getColor(R.color.orange))
Run Code Online (Sandbox Code Playgroud)
但它不起作用.它告诉我getResources不是静态的......我怎么能改变这个?
Com*_*are 13
但它没有用,它告诉我,getResources不是静态的...我怎么能改变?
这意味着您尝试getResources()从静态方法调用,而不是常规(实例)方法.在您的情况下,最简单的事情是,如果mFoo是一个TextView或其他一些小部件,则调用小部件中getResources()的Context可用内容:
mFoo.setTextColor(mFoo.getContext().getResources().getColor(R.color.orange));
Run Code Online (Sandbox Code Playgroud)
但是,您尝试引用以mFoo静态方法命名的窗口小部件这一事实吓跑了我.这只是要求内存泄漏.我认为你真的需要重新考虑使用静态数据成员和方法.