在Android活动上调用finish()实际上并没有完成

Pet*_*son 50 android

我在打电话,finish()但我的活动一直在继续.

我有一个活动,由主活动屏幕中的菜单调用.在我的activity的onCreate()方法中,我有以下代码片段:

    // Make sure there are some events in the list.
    if (theEventArrayList.isEmpty()){
        Toast.makeText(this, "Event List is empty", Toast.LENGTH_LONG).show();
        finish();
    }
    SummarizeCurrentEvent();
    graphEvents();
Run Code Online (Sandbox Code Playgroud)

如果列表为空,则会显示Toast,我可以在调用时设置断点finish().如果我从调试器中的那个步骤开始直接进入SummarizeCurrentEvent().我以为finish()会退出活动.这不是这种情况吗?我在哪里可以找到有关此方法的更多信息?

Nan*_*nne 76

你应该return在那之后添加一个语句finish,因为调用的方法finish将完全执行.

另外,请看这个问题:关于android中的finish()


Rob*_*ond 6

finish()只是告诉活动做它需要完成的事情,例如.关闭,调用onPause,将结果报告给父级等.它不执行exit()调用或其他任何操作.

你应该在finish()调用后返回.