Я пробовал это:
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.
Р.Ява говорит:
public static final int ball_red=0x7f020027;
Поэтому я не уверен, почему он не работает.
Поэтому я не могу использовать ресурсы, я должен передать контекст, и я делаю так: Внутри:
class Collection extends SurfaceView implements SurfaceHolder.Callback {
Я создаю новый экземпляр моего класса и передаю его getContext() в качестве параметра.