Android: как вы возвращаетесь из setContentView? - PullRequest
0 голосов
/ 14 сентября 2011

Например, когда я начинаю новую операцию, я могу вернуться к предыдущей активности с помощью finish ().Как я могу вернуться от настройки просмотра контента?Например,

setContentView(new example(context));

Теперь я на поверхности.Причина, по которой я спрашиваю, заключается в том, что в настоящее время, когда я нажимаю кнопку «Назад» на виде с поверхности, он полностью выходит из игры.(У меня есть методы onDestroy с super.OnDestroy)

У моего представления поверхности есть метод surfaceDestroyed, в котором он устанавливает для потока игрового цикла значение false и все.Я предполагаю, что мне нужно сделать что-то здесь, чтобы сказать ему, чтобы переключить представление своего контента обратно в мое меню?

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

Спасибо !!!

Ответы [ 3 ]

1 голос
/ 06 февраля 2018

Лучший способ - использовать намерение.

startActivity(new Intent(this, ClassYouWantToReturn.class));

setContentView () мало поможет, потому что вы потеряете свои данные.

1 голос
/ 14 сентября 2011

Вы все время находитесь в сфере деятельности.Таким образом, даже если вы отображаете SurfaceView, этот SurfaceView содержится в Activity.Если в стеке вашего приложения нет действия «Активность» ниже текущего, кнопка «Назад» закроет ваше приложение.Вы можете явно обработать кнопку назад, переопределив onKeyDown в своей деятельности, чтобы выполнить собственную условную логику.

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        // This is a method I created in my Activity to execute my custom logic
        // related to the user pressing the back button
        return handleBackButton(keyCode, event);
    }
    return super.onKeyDown(keyCode, event);
}

Существует также метод onBackPressed, определенный в Activity, но он был введен на уровне API5, так что вам нужно сделать onKeyDown, если вы поддерживаете Android 1.6 (API 4)

0 голосов
/ 14 сентября 2011

Я новичок и только учусь, так что прости меня, если я что-то упустил. Но не могли бы вы использовать логическую переменную, которая устанавливает представление содержимого на основе его состояния?

Boolean sView

if (sView = true){
setContentView(new example(context));
}
if (sView = false){
setContentView(new example(context));
}
...