Начать активность с не-класса активности - PullRequest
0 голосов
/ 01 декабря 2019

Я делаю небольшую игру на Android-студии, в которой есть 3 действия: Меню, Главное (Игра), WinScreen. Когда я пытаюсь перейти из Меню в Основное или из WinScreen в Основное, оно работает отлично, но когда я пытаюсь запустить упражнение из Основного действия, я получаю сообщение об ошибке.

У меня есть метод в файле Java, который проверяетесли игрок выиграл, и если это так, то предполагается запустить действие WinScreen.

boolean checkWin(GameBoard gameboard){
       if(compareTabs(gameboard) == true){
           System.out.println("Win !");
           Intent i = new Intent(MainActivity.this,WinActivity.class);
           startActivity(i);
           return true;
       }
       else{
           return false;
       }
}

И это ошибка, которую я получаю: ошибка: не включающий класс: MainActivity

Этот метод находится в файлеGameBoard, называемый GameBoard, используется классом GameView, который запускается в начале MainActivity

Я знаю, что есть сотни постов, похожих на мои, но я в значительной степени перепробовал все, что нашел, и ничегокажется, работает, и я уверен, что это действительно глупая проблема.

Я уже пробовал такие вещи, как Intent i = new Intent(this,WinActivity.class);

1 Ответ

0 голосов
/ 01 декабря 2019

Обратите внимание, что если этот метод вызывается извне контекста действия, тогда намерение должно включать флаг запуска Intent # FLAG_ACTIVITY_NEW_TASK . Это связано с тем, что, не будучи запущенным из существующего действия, не существует существующей задачи для размещения нового действия, и, следовательно, его необходимо поместить в отдельную задачу.

Androidдокументация для разработчиков

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...