Метод getString(int) не определен для типа GamePlay

У меня проблема при использовании getString функция для чтения строки, расположенной в папке значений. Я получаю следующую ошибку:

Метод getString (int) не определен для типа GamePlay

Это сложно для меня, потому что я хочу вызывать эту функцию вне действия, и каким-то образом структура проекта довольно странная.

Мой проект - игра, пока вы запускаете игру, вы запускаете SampleGame:

public class SampleGame extends AndroidGame

Продлен с AndroidGame который имеет следующую декларацию:

public abstract class AndroidGame extends Activity implements Game

И SampleGame выполняет SplashLoadingScreen который имеет следующую декларацию:

public class SplashLoadingScreen extends Screen

SpalshLoadingScreen наконец загружает некоторые вещи, а затем вызвать GamePlay

public class GamePlay extends Screen

Итак GamePlay далеко не Activity...

Как я могу использовать тогда getString(int) функционировать?

1 ответ

Решение

За getString(int) вам нужен только Context объект.. Вы можете передать его в свой объект GamePlay, например, с конструктором GamePlay(Context c), но не забудьте передать контекст приложения getApplicationContext() если вам не нужен контекст Activity, потому что GarbageCollector не сможет собрать вашу Activity, если где-то есть ссылка на его контекст.

Другие вопросы по тегам