Метод onRestart () не выполняет код при вызове метода finish () для метода onStart () - PullRequest
0 голосов
/ 19 ноября 2018

Метод sendSave закрывает приложение, но когда я захожу в andorid для повторного открытия приложения, код метода onRestart () не выполняется в терминале. Код:

protected void onStart() {
    exitButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                exitNotSave(view);
                finish();
            }
        });
    }
public void exitNotSave(View a){
....
}


@Override
protected void onRestart() {

    super.onRestart();
    setContentView(R.layout.activity_simplenotes);
    System.out.println("onRestart\n");
}

Вопрос в том. Как заставить кнопку отправить заявку в onStop ()?

1 Ответ

0 голосов
/ 19 ноября 2018

Взгляните на https://developer.android.com/guide/components/activities/activity-lifecycle для жизненного цикла активности. Когда вы вызываете Finish (), вы вызываете onDestroy (), который, как вы можете видеть на диаграмме жизненного цикла, вызывается после любых триггеров onRestart.
Если вы хотите запустить onRestart, сначала его нужно остановить, что, по моему мнению, повлечет за собой закрытие действия кнопкой home.
Не знаю, какова ваша общая цель, но сначала посмотрите на график жизненного цикла активности.
редактировать
Если приложение закрывается при вызове Finish (), это означает, что у вас нет другой активности в backstack, и эта текущая операция уничтожена. Когда приложение откроется снова, оно будет заново создавать это действие, то есть будут вызываться onStart и onResume.

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