在onStart()的方法上调用方法finish()时,方法onRestart()不执行代码

时间:2018-11-19 15:54:51

标签: android methods

方法“ 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 :(得分:0)

查看https://developer.android.com/guide/components/activities/activity-lifecycle的活动生命周期。调用Finish()时,您正在调用onDestroy(),正如您在生命周期图中看到的那样,该调用在任何onRestart触发器之后调用。
如果要触发onRestart,则需要先停止它,我相信这将需要使用home按钮关闭该活动。
不确定您的总体目标是什么,但请先查看活动生命周期图。
修改
如果在调用Finish()时应用程序正在关闭,则意味着您在Backstack上没有其他活动,并且当前活动已被销毁。当应用再次打开时,它将重新创建该活动,这意味着将调用onStart和onResume。