我上课了
public class Preferences extends PreferenceActivity implements OnSharedPreferenceChangeListener
因此,我尝试从另一个类中调用一个方法。该方法包含:
mFoo.setTextColor(getResources().getColor(R.color.orange))
但这是行不通的。它告诉我
getResources
不是静态的...我该如何更改? 最佳答案
这意味着您正在尝试从静态方法而不是常规(实例)方法调用getResources()
。如果您的情况是mFoo
是TextView
或其他小部件,那么最简单的方法是在该小部件上可用的getResources()
上调用Context
:
mFoo.setTextColor(mFoo.getContext().getResources().getColor(R.color.orange));
但是,您试图从静态方法中引用名为
mFoo
的小部件的事实使我不知所措。这只是要求内存泄漏。我认为您确实需要重新考虑对静态数据成员和方法的使用。关于android - Android-getResources()和静态,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3886118/