Android - getResources()和静态

时间:2010-10-07 21:44:54

标签: android static

我有一个班级

public class Preferences extends PreferenceActivity implements OnSharedPreferenceChangeListener

我试着从另一个类调用一个方法。此方法包含:

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

但它不起作用。它告诉我getResources不是静态的......我怎么能改变它?

1 个答案:

答案 0 :(得分:13)

  

但它不起作用,它告诉我,getResources不是静态的......我怎么能改变?

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

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

但是,您尝试从静态方法引用名为mFoo的窗口小部件这一事实吓跑了我。这只是要求内存泄漏。我认为你真的需要重新考虑使用静态数据成员和方法。