我的项目我有一个类,在这个类中,我想访问图片的属性。但我不想在这堂课上表现出来。在这门课上,我只想知道图像的宽度和高度,并做一些数学函数来返回一些东西。
我的问题是我无法获得资源。例如,当我写
image = BitmapFactory.decodeResource(this.getResources(), R.drawable.tasnim);
它说方法getresources()未定义为类型stego(stego是我的类名)。
请告诉我该怎么做?
public class Stego()
{
Public Stego(){
image = BitmapFactory.decodeResource(this.getResources(), R.drawable.tasnim);
imWidth = image.getWidth();
imHeight = image.getHeight();
}
}
最佳答案
getResources()
函数属于Context
类。因此,除非您的Stego
类直接(或间接)扩展Context
,否则没有可用的getResources()
函数。
因此,您需要做的是传递对应用程序上下文的引用(例如,在Stego
类或类似类的构造函数中)。或者如果您只需要一个资源id,那么传递该id可能会更容易。
例如,可能是这样的:
public class Stego()
{
Public Stego(Context myAppContext){
image = BitmapFactory.decodeResource(myAppContext.getResources(), R.drawable.tasnim);
imWidth = image.getWidth();
imHeight = image.getHeight();
}
}
然后,您可以从活动中初始化
Stego
类的实例,如下所示:Stego stego = new Stego(this);