我试过这个:
r = Resources.getSystem().getIdentifier("ball_red","drawable","com.Juggle2");
Log.i("FindBall","R = "+r);
还有这个:
r = Resources.getSystem().getIdentifier("com.Juggle2:drawable/ball_red", null, null);
但 'r' 总是以零结束。
我从一个不是 Activity 并且不扩展任何东西的辅助类内部调用这一行,所以我不能简单地调用getResources()
,但我可以从我的SurfaceView
.
最终,我想"ball_red"
用一个变量替换,但首先是第一件事。这是行不通的。
com.Juggle2
确实是我的包名。drawable
是res
它所在的文件夹,并且文件名确实是ball_red
.
R.java 说:
public static final int ball_red=0x7f020027;
所以我不确定为什么它不起作用。
所以我不能使用资源,我必须传递一个上下文,我这样做是这样的:在里面:
class Collection extends SurfaceView implements SurfaceHolder.Callback {
我正在为我的类创建一个新实例并将其getContext()
作为参数传递。