私はこれを試しました:
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' は常に 0 になります。
Activity ではなく、何も拡張しないヘルパー クラス内からこの行を呼び出しているため、単純に を呼び出すことはできませんgetResources()
が、 my から渡すことはできます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()
をパラメーターとして渡します。