我的简单apliccation有问题。
我不想粘贴大量的代码。
我已经上课Zaladuj
,我必须使用getResources()
加载文件。
loading_screen = BitmapFactory.decodeResource(Widok.getResources(),R.drawable.loading_screen);
在这一行我有错误:
无法从类型View中对非静态方法getResources()进行静态引用。
我把所有课程代码放在这里:http://www.pcyra.pl/badpanda
它不是一个网站,它只是我项目的文件夹。我在MainActivity中创建View实例,错误显示在第50行的类Zaladuj
中。
答案 0 :(得分:2)
由于getResources()
方法不是static
,您需要创建一个Widok
类的实例才能调用它,例如:
Widok widok = new Widok(context);
BitmapFactory.decodeResource(widok.getResources(),R.drawable.loading_screen);
答案 1 :(得分:0)
错误显然告诉你什么是错的。你不能用Widok打电话。
如果您在活动课程中,请致电
BitmapFactory.decodeResource(getResources(),R.drawable.loading_screen);
如果您在非活动课程中,那么您将需要活动背景。
就像你在AsyncTask中一样,你会写这样的东西
BitmapFactory.decodeResource(context.getResources(),R.drawable.loading_screen);
确保在构造函数中传递正确的活动上下文。
答案 2 :(得分:0)
您收到该错误的原因“无法从类型View中对非静态方法getResources()进行静态引用。”是因为getResources()方法不是静态方法。换句话说,你需要同化一个新的Widok
Widok w = new Widok(context);
然后调用该对象上的资源
w.getResource();
**修改
这是您在活动类中添加的代码。您将关键字“this”传递给Widok的构造函数,该构造函数引用了应用程序上下文
Widok w = new Widok(this);
loading_screen = BitmapFactory.decodeResource(w.getResources(),R.drawable.loading_screen);