我的项目我有一个类,在这个类中我想要访问图片的属性。但我不想通过这堂课来展示它。在这个课程中,我只想知道图像的宽度和高度,并做一些数学函数来返回一些东西。
我的问题是我无法访问资源。例如,当我写
image = BitmapFactory.decodeResource(this.getResources(), R.drawable.tasnim);
它表示未定义类型Stego的方法getResources()(stego是我的类名)。
请告诉我该怎么办?
public class Stego()
{
Public Stego(){
image = BitmapFactory.decodeResource(this.getResources(), R.drawable.tasnim);
imWidth = image.getWidth();
imHeight = image.getHeight();
}
}
答案 0 :(得分:3)
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);