Korzystanie z Android getIdentifier ()
Próbowałem tego:
r = Resources.getSystem().getIdentifier("ball_red","drawable","com.Juggle2");
Log.i("FindBall","R = "+r);
I to:
r = Resources.getSystem().getIdentifier("com.Juggle2:drawable/ball_red", null, null);
Ale „r” zawsze kończy się jako zero.
Nazywam tę linię wewnątrz klasy pomocniczej, która nie jest Aktywnością i niczego nie rozszerza, więc nie mogę po prostu wywołaćgetResources()
, ale mogę przekazać to z mojegoSurfaceView
.
W końcu chcę zastąpić"ball_red"
ze zmienną, ale pierwsza rzecz jest pierwsza. To nie działa.
com.Juggle2
jest rzeczywiście moją nazwą pakietu.drawable
jestres
folder, w którym się znajduje, a nazwa pliku jest rzeczywiścieball_red
.
R.java mówi:
public static final int ball_red=0x7f020027;
Więc nie jestem pewien, dlaczego to nie działa.
Więc nie mogę używać zasobów, muszę przekazać kontekst i robię to w ten sposób: W środku tutaj:
class Collection extends SurfaceView implements SurfaceHolder.Callback {
Tworzę nową instancję mojej klasy i przekazuję jągetContext()
jako parametr.