//假设这是一个独立于各种View的静态类 ImageManager
//中的static
static{
staticBmp1 = BitmapFactory.decodeResource(getResources(), R.drawable.bg1);
}
我想要在这个静态类中进行统一的图片管理,请问可以怎么调用getResources?
//假设这是一个独立于各种View的静态类 ImageManager
//中的static
static{
staticBmp1 = BitmapFactory.decodeResource(getResources(), R.drawable.bg1);
}
我想要在这个静态类中进行统一的图片管理,请问可以怎么调用getResources?
建议多巩固下java基础。java中调用一个方法,是调用一个类的静态方法或者一个对象的实例方法。想要调用一个实例方法,就必须先要有一个对应的对象,getResources是Context下的实例方法,在Activity中可以直接调用,是因为Activity最终继承于Context。Fragment中也可以调用,不过Fragment中的getResources方法是通过requireContext获取Context再调用Context的getResources方法。所以想在一个类中调用getResources方法,就得获取Context对象,context可以作为参数传进来,不同的对象执行方法结果肯定有区别,但是获取资源图片,肯定是一样的,所以你也可以直接用Applicatio,就不用传context了