2017-02-20 19 views
1

В моем приложении у меня есть xml-макет с именем activity_menu, к которому приложение сначала загружается. На этом у меня есть кнопка, которая устанавливает представление содержимого в класс GameView, который расширяет представление. Отсюда я хотел бы нажать кнопку андроида назад и вернуться к activity_layout, однако в настоящее время приложение просто закрывается. Как я могу решить это?Нажатие кнопки «Назад» из пользовательского макета закрывает приложение вместо возврата на предыдущий экран.

+0

вы должны расчистили приложение историю деятельности или заканчивает последнюю активность на старте другой деятельности. Проверьте это сначала –

ответ

1

Вы можете сделать вот так. Сначала вы слушаете, когда пользователь нажимает кнопку на onBackPressed. Затем, когда пользователь нажимает кнопку назад, вы будете проверять, если Gameview виден или нет, если она видна, вы должны скрыть его без финиша Activity

@Override 
public void onBackPressed() { 
    if(//gameView is visible){ 
     // hide gameview without finish Activity 
    }else{ 
     super.onBackPressed(); 
    } 
} 
+0

Привет, да, большинство вещей, которые я видел, похоже, предлагают похожие, но я, похоже, не могу использовать onBackPressed() в своем классе gameView, поскольку он не распознается – JCH1530

+1

переопределить 'onBackPressed()' внутри Активность, которая содержит игровое поле –

0

С BackButton перемещаться к предыдущей деятельности ... Что же касается это я получаю ваше приложение ваш Gameview тот же активность, так что предыдущий ваш домашний экран:

вы можете переопределить метод onBackPress() в вашей деятельности:

@Override 
void onBackPress(){ 
    if(contentView is gameview){ 
    -> back to activity layout 
    }else{ 
    super.onBackPress() 
    } 

} 

Обновление:

Чтобы проверить, если ваш Gameview включен, то вы можете использовать простой логический флаг, или visibilty в Gameview, если вы работаете с скрытию и

0

Я думаю, что вы есть буксировочный активность: MenuActivity (первая активность) и GameActivity (второй деятельности), правильно? В этом случае вы должны завершить функцию MenuActivity при переходе на GameActivity.

Пример кода:

 button.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      startActivity(new Intent(MenuActivity.this, GameActivity.class)); 
      MenuActivity.this.finish(); 
     } 
    }); 

 Смежные вопросы

  • Нет связанных вопросов^_^