我上课了

public class Preferences extends PreferenceActivity implements OnSharedPreferenceChangeListener

因此,我尝试从另一个类中调用一个方法。该方法包含:
mFoo.setTextColor(getResources().getColor(R.color.orange))

但这是行不通的。它告诉我getResources不是静态的...我该如何更改?

最佳答案



这意味着您正在尝试从静态方法而不是常规(实例)方法调用getResources()。如果您的情况是mFooTextView或其他小部件,那么最简单的方法是在该小部件上可用的getResources()上调用Context:

mFoo.setTextColor(mFoo.getContext().getResources().getColor(R.color.orange));

但是,您试图从静态方法中引用名为mFoo的小部件的事实使我不知所措。这只是要求内存泄漏。我认为您确实需要重新考虑对静态数据成员和方法的使用。

关于android - Android-getResources()和静态,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3886118/

10-10 13:08