Android 如何从非活动类访问drawable

Android 如何从非活动类访问drawable,android,drawable,Android,Drawable,我现在的情况是,我必须使用我的应用程序的可绘制文件夹,形成一个非活动类。我尝试使用具有以下代码的父活动: ParentActivity pa = new ParentActivity(); Drawable d = pa.getResources()..getDrawable(R.drawable.icon);` 但这会返回一个NulLPointerException。 如何实现这一点?将上下文对象作为参数传递给非活动类的构造函数 然后使用该上下文对象获取资源 范例 public class

我现在的情况是,我必须使用我的应用程序的
可绘制文件夹
,形成一个非活动类。我尝试使用具有以下代码的父活动:

ParentActivity pa = new ParentActivity();
Drawable d = pa.getResources()..getDrawable(R.drawable.icon);`
但这会返回一个
NulLPointerException

如何实现这一点?

将上下文对象作为参数传递给非活动类的构造函数

然后使用该上下文对象获取资源

范例

public class MyClass {
  Context context;
  public MyClass(Context context) {
      this.context = context;
  }

  public void urMethod() {
    Drawable drawable=context.getResources().getDrawable(R.drawable.icon);
    // use this drawable as u need
  }
}

然后,您可以访问所有可绘制文件,例如R.drawable.icon。

是否只有我或“R”或(Java中调用的任何资源)被导入到类中,因此这根本不是泛型的?请注意,从API 22中,获取可绘制文件的正确方法是:
drawable drawable=ContextCompat.getDrawable(context,R.drawable.icon)
import com.(package-name).R;